gpt4 book ai didi

javascript - 如何剪掉 viewBox 之外的内容?

转载 作者:行者123 更新时间:2023-11-27 22:34:15 24 4
gpt4 key购买 nike

是否有一种功能或方法可以剪切 View 框外的路径而不是仅仅隐藏它?

我正在使用 svg-edit,它有一个视框,一个 Canvas 区域。在 Canvas 之外绘制的所有内容都被隐藏了。然而,当编辑器的输出被收集并粘贴到图形编辑器(如 Inkscape)中时,整个绘图就会出现。我希望 View 框外的绘图完全从编辑器的输出中剪裁掉。因此,例如,如果我有一个一半在 Canvas 外的圆圈,那么编辑器的输出将是半个圆圈,而不是整个圆圈,只是隐藏了一半。

我想改变主题路径本身的几何形状,而不仅仅是将其隐藏起来。

我正在修改 svg-edit:http://code.google.com/p/svg-edit/

最佳答案

一种方法是应用 clip-path到根 svg 元素。

如果需要,它可以是一个简单的矩形区域,或者另一个更复杂的形状,如下例所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="-100 -100 300 300"
clip-path="url(#clip)">
<defs>
<clipPath id="clip">
<rect width="100" height="100" rx="10"/>
<path d="M40 99l10 11 10 -11z"/>
</clipPath>
</defs>

<rect id="background" width="120" height="120" fill="slateblue"/>
<image xlink:href="images/man.png" width="100" height="110"
preserveAspectRatio="xMidYMax meet"/>
</svg>

在线查看here .

在您的情况下,您可能只需要一个 <rect><clipPath>里面与 viewBox 具有相同尺寸的元素。

关于javascript - 如何剪掉 viewBox 之外的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com