所以基本上我的头衔说,我想在矩形元素中"切洞".
我有两个rect元素,一个在另一个上面.底部的填充颜色为白色,顶部的填充颜色为灰色.
我想要做的是从顶部rect元素中切出一个三角形,以便下面的rect元素显示出来.
此svg元素将用作页面上媒体播放器的音频按钮.换句话说,您将能够左/右单击(或拖动)鼠标,音频水平的变化将通过底部矩形元素宽度的变化来表示,通过切出的三角形显示顶部rect元素.
我希望这不会太混乱.:P
以下是它应该是什么样子的快速模型:http://forboden.com/coding/s1.png
这是我的代码:http://forboden.com/coding/svgClipTest.html
我在哪里错了?
cui*_*ing 62
fill-rule: evenodd
如果要防止矩形的填充在圆所在的位置进行绘制,则应该能够使用(默认)属性来实现此效果.从SVG规范中查看此示例:
关键点是在不同方向(顺时针与逆时针)绘制外形和内部形状(孔).
您可以通过连接更多的孔路径数据来切割更多的孔.
这张图片解释了如何切洞:
Eri*_*röm 11
我知道你已经解决了它,只是想补充一点,如果你想要更先进的东西那么它通常很容易使用<mask>
,请参阅http://dev.w3.org/SVG/profiles/1.1F2/test/svg/masking-path-11-b.svg例如.
但是,如果你可以避免屏蔽和剪裁(例如只是在顶部绘制东西),这通常会带来更好的性能/用户体验.
最简单的方法是使用<path>
洞,并将指针事件设置为,none
以便事件可以传递到<rect>
下面。当然还有很多其他方法来处理事件,例如用 a 包装它们<g>
并在其上处理事件。
您不需要将自己限制在基本形状上并使用复杂的剪裁。让事情足够灵活,以便您可以复制和粘贴 inkscape 等工具生成的路径数据。
归档时间: |
|
查看次数: |
27484 次 |
最近记录: |