如何使用多边形作为蒙版,这将使圆圈中的区域透明?我无法管理它
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="50" />
<polygon points="20,30 25,20 80,40 80,60 25,80, 20,70 70,50"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
面具很简单.它们在这里描述:http://www.w3.org/TR/SVG11/masking.html#Masking
在你的情况下,这只是添加几行的问题.
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 100 100">
<circle cx="50" cy="50" r="50" mask="url(#hole)"/>
<mask id="hole">
<rect x="0" y="0" width="100" height="100" fill="white"/>
<polygon points="20,30 25,20 80,40 80,60 25,80, 20,70 70,50" fill="black"/>
</mask>
</svg>
Run Code Online (Sandbox Code Playgroud)
在蒙版定义中,我们必须添加一个圆形大小的白色矩形以使其<circle>可见(白色表示不透明),然后我们使<polygon>黑色(透明)创建孔.