svg - 在 SVG 中绘制一个空洞的形状

标签 svg

我想在 SVG 中绘制一个中心挖空的形状。
我问这个问题是为了画一个中间有圆圈的圆圈here .
我想在 SVG 中绘制任何形状,中间(另一个形状)被挖空。
有任何想法吗?

我认为使用 Masks 或 ClipPaths 是可能的,但我不确定我是否完全理解它们

最佳答案

将您的形状创建为路径,该路径由两个子路径组成。第一个子路径描述了你的外形;第二个子路径描述内部形状。将路径的填充规则设置为“evenodd”。

例如对于一个镂空的矩形,我们制作了一个由两个子路径组成的路径。一个为外矩形;一个用于内部矩形:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">

<path d="M 100 100 L 200 100 L 200 200 L 100 200 z
     M 110 110 L 190 110 L 190 190 L 110 190 z"
     fill="red"
     stroke="black" stroke-width="1"
     fill-rule="evenodd"/>

</svg>

enter image description here

关于svg - 在 SVG 中绘制一个空洞的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200555/

相关文章:

javascript - 如何创建一个 <embed> svg 按钮?

svg - 是否可以从命令行从 SVG 创建字体 (TTF)?

javascript - 如何使用 createjs 和 animate cc 在 Canvas 上移动 svg 图形

javascript - Angular:动态呈现时 SVG 路径标记不可见

用于绘制 SVG 元素的 JavaScript 函数

svg - 以不同方式缩放 SVG 文件的不同部分

javascript - 限制可以使用文本区域写入的行数

javascript - 通过 jQuery 切换使用 SVG 图标

javascript - 如何在加载 jQuery 时使用 SVGweb 嵌入 SVG(即问题)

javascript - D3JS - 组合 "rect"函数