我目前使用SVG渐变来为路径应用淡出效果。这样的路径,以100%的不透明度开始在X0和X1淡出为0%,无论这些可能是针对特定路径它是适用于:如何使用SVG滤镜创建透明度渐变蒙版
<linearGradient id="gradient_to_transparent" x1="0%" x2="100%">
<stop offset="0" stop-opacity="1"></stop>
<stop offset="1" stop-opacity="0"></stop>
</linearGradient>
该申请的笔触样式时的伟大工程的路径:
<path d="..." style="stroke:url(#gradient_to_transparent);"></path>
但问题是,通过使用笔画风格我不能应用其他笔画风格,它默认为黑色。我想要的是使用任何我想要的颜色对笔画进行风格设置,然后对笔触不透明度应用渐变或应用SVG滤镜来创建淡出效果。我尝试着使用SVG过滤器和feFuncA使用feComponentTransfer,但无法获得正确的工作。
笔画颜色需要为每个路径单独计算。所以,在渐变中设置颜色的解决方案不会很好地伸缩。
它需要是渐变或过滤器吗?我建议使用,其中包含应用了渐变的矩形,但我不确定您的要求。一个例子:http://xn--dahlstrm-t4a.net/svg/presentations/svgdemos/relect-text-mask.svg –
@ErikDahlström,你应该发布这个答案,因为它看起来像一个很好的解决方案。不过,计算弯曲路径的掩码大小和位置有一些复杂性。 – drarmstr