svg - 反转 SVG 剪辑(仅显示外部路径)

标签 svg

是否可以使用 SVG 反转剪辑的 Action ?在下面的示例中,我想显示两个圆圈之间的路径,而不是圆圈内部的路径:

<svg xmlns="http://www.w3.org/2000/svg" width="985" height="740">
  <g>
    <clipPath id="re8-clip" clip-rule="nonzero">
      <rect id="sa11" x="763.0" y="176.5" width="70.0" height="25.0" rx="50" ry="50" fill="ForestGreen"/>
      <rect id="sa12" x="516.0" y="127.5" width="70.0" height="25.0" rx="50" ry="50" fill="ForestGreen"/>
    </clipPath>
    <rect id="sa11" x="763.0" y="176.5" width="70.0" height="25.0" rx="50" ry="50" fill="ForestGreen"/>
    <rect id="sa12" x="516.0" y="127.5" width="70.0" height="25.0" rx="50" ry="50" fill="ForestGreen"/>
  </g>
  <path stroke="Black" stroke-width="1.5" fill="none" d="M 798.0 189.0 551.0 140.0" clip-path="url(#re8-clip)"/>
</svg>

最佳答案

按照 Duopixel 评论中的链接,可以使用 mask 解决该问题。 :

<svg width="50%" height="50%" viewbox="0 0 985 740" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <rect id="sa11" x="763.0" y="176.5" width="70.0" height="25.0" rx="50" ry="50" />
    <rect id="sa12" x="516.0" y="127.5" width="70.0" height="25.0" rx="50" ry="50" />
  </defs>
  <mask id="re8-clip">
    <rect id="bg" x="0" y="0" width="100%" height="100%" fill="white"/>
    <use xlink:href="#sa11" fill="Black" />
    <use xlink:href="#sa12" fill="Black" />
  </mask>
  <use xlink:href="#sa11" fill="ForestGreen" />
  <use xlink:href="#sa12" fill="ForestGreen" />
  <path stroke="Black" stroke-width="1.5" fill="none" d="M 798.0 189.0 551.0 140.0" mask="url(#re8-clip)"/>
</svg>


顺便说一句,有人知道面具是否可以默认为白色,因此不需要“bg”矩形?

关于svg - 反转 SVG 剪辑(仅显示外部路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11404391/

相关文章:

math - SVG curveTo(C)如何工作?

javascript - 从数据构建特定图标

JavaScript 适用于内联 svg 但不适用于外部链接的 svg?

javascript - LitElement SVG child 作为插槽

javascript - 在 IE 11+ 中缩放 <svg> 内的嵌入 <image>

javascript - 使用 snap.svg 沿 svg 路径对对象进行动画制作和定向

javascript - 如何在 d3 和 SVG 中创建阴影路径?

javascript - 如果我将 svg 附加到 div,d3 mouseover 事件不会触发

html - 为什么 SVG 不能处理本地 HTML 文件?

javascript - 如何使 SVG 文本可编辑?