1

有填充不透明度和描边不透明度属性,但两个透明度重叠,因此我的描边的不透明度更重要。如何删除这种重叠(具有不同的不透明度)?

mysvg
.attr('fill', 'rgba(150, 150, 150, 0.3)')
.attr('stroke-width', '30px')
.attr('stroke', 'rgba(150, 150, 150, 0.6)');

我没有 10 声望... 在这里查看结果

4

1 回答 1

0

有几种方法可以做我认为你想要的。最简单的方法是只绘制两个形状 - 一个按笔划宽度缩小的实心形状,然后是一个顶部有笔划的零填充形状。

但是,由于您对两者使用相同的颜色,因此很容易使用过滤器来获得您想要的东西。

<filter id="opacityceiling">
  <feComponentTransfer>
    <feFuncA type="discrete" tableValues="0.3 0.6"/>
  </feComponentTransfer>
</filter>

这会将 0 到 0.5 到 0.3 之间的任何不透明度以及 0.5 到 1.0 到 0.6 之间的任何不透明度钳制。对于不同颜色,更通用的方法是使用 feFlood 和 feComposite。

于 2013-06-18T15:50:13.947 回答