Ich verwende derzeit einen SVG-Farbverlauf, um einen Ausblendeffekt für Pfade anzuwenden. Dies ermöglicht der Weg zu 100% Opazität bei x0 zu starten und zu 0% bei x1 ausgeblendet, wo die für den speziellen Weg sein können, ist es angewandt:So erstellen Sie eine Transparenzgradientenmaske mit einem SVG-Filter
<linearGradient id="gradient_to_transparent" x1="0%" x2="100%">
<stop offset="0" stop-opacity="1"></stop>
<stop offset="1" stop-opacity="0"></stop>
</linearGradient>
Dies funktioniert gut, wenn auf den Hub-Stil Anwendung ein Weg:
<path d="..." style="stroke:url(#gradient_to_transparent);"></path>
Allerdings ist das Problem, dass der Hub-Stils unter Verwendung ich nicht anderen Schlaganfall Stile und wird standardmäßig schwarz anwenden können. Was ich möchte, ist, den Strich in der von mir gewünschten Farbe zu stylen und dann einen Verlauf auf die Schlag-Opazität anzuwenden oder einen SVG-Filter anzuwenden, um den Fade-Out-Effekt zu erzeugen. Ich habe versucht, mit SVG-Filtern zu verwirren und feComponentTransfer mit feFuncA zu verwenden, konnte aber nicht etwas erreichen, das richtig funktionierte.
Die Strichfarbe muss für jeden Pfad einzeln berechnet werden. Die Lösung, die Farbe im Farbverlauf einzustellen, würde also nicht sehr gut skalieren.
Muss es ein Farbverlauf oder ein Filter sein? Ich würde vorschlagen, eine zu verwenden, die ein Rect mit einem Gradienten enthält, aber ich bin mir nicht sicher über die Anforderungen, die Sie haben. Ein Beispiel: http://xn--dahlstrm-t4a.net/svg/presentations/svgdemos/relect-text-mask.svg –
@ ErikDahlström, sollten Sie dies als Antwort posten, da es wie eine großartige Lösung aussieht. Es gibt jedoch einige Komplikationen bei der Berechnung der Maskengröße und der Platzierung für gekrümmte Pfade. – drarmstr