我有这个 fiddle :https://jsfiddle.net/thatOneGuy/1spn8nne/1/
这有两条路径,目前,它们只是矩形,但实际上是复杂的形状。我使用此代码创建了两个带有“孔”的矩形:
createRects(dataPointsPath2, 'blue');
createHoles(dataPointsCircle2);
createRects(dataPointsPath1, 'red');
createHoles(dataPointsCircle1);
我需要的是从填充路径中移除孔,以便您可以看到它后面的矩形。
如何从填充路径中删除形状(圆形)?
编辑
我刚刚意识到,剪辑路径可能会很好地解决这个问题,我会尝试实现,但如果有人有任何想法,我将不胜感激:)
最佳答案
这是一种绘制带洞的矩形的方法。它依赖于 evenodd 填充规则。圆圈在矩形内部,它变成矩形中的一个洞,蓝色背景显示出来。
<svg viewBox="0 0 250 250">
<rect width="100%" height="100%" fill="blue"/>
<path fill="#b4edb4" fill-rule="evenodd" d="M230,230H8V13h223
V236z M 120 80 a 50 50 0 1 0 0.00001 0z"/>
</svg>
关于javascript - 如何从填充的 SVG 路径中删除形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38654828/