Lineare und radiale Farbverläufe sind sehr flexibel inSVG. Es ist möglich, Farbverläufe mit mehreren Stopps und durchscheinenden Farben zu erstellen. Hier ist ein Beispiel:
Die Farbverläufe in der Abbildung sind von links nach rechts linear, radial ohne Fokus und radial mit Fokus auf einem Punkt. Die erste Reihe zeigt die Anwendung dieser Farbverläufe auf ein Rechteck und die zweite Reihe zeigt dieselbe Anwendung auf einen Kreis. Die Stopps sind bei allen Farbverläufen wie folgt gleich:
<stop offset="0.000000" stop-color="#ffffff00"/>
<stop offset="0.200000" stop-color="#ffff00ff" />
<stop offset="0.400000" stop-color="#0000ff88" />
<stop offset="0.600000" stop-color="#008000ff" />
<stop offset="0.800000" stop-color="#ff0000ff" />
<stop offset="1.000000" stop-color="#ff5599cc" />
(Der Kürze halber habe ich nicht den vollständigen SVG-Code eingefügt.)
Ich möchte dieses Bild mit TikZ in LaTeX erstellen. Ich habe mehrere Dokumentationen und Tutorials zu Schattierungen und Überblendungen studiert, aber keine davon lieferte auch nur den geringsten Hinweis darauf, wie dieses Bild erstellt werden soll (bisher habe ich gelernt, dass Schattierungen mit mehreren Blendenstufen und opaken Farben möglich sind, allerdings mit sehr geringer Flexibilität). Meine Frage in einem Satz lautet also:
Wie implementiere ich das Bild der Frage mit TikZ in LaTeX?
Antwort1
\documentclass[tikz]{standalone}
\usetikzlibrary{shadings, fadings}
\begin{document}
\begin{tikzpicture}
\definecolor{color1}{RGB}{255,0,0} \definecolor{color2}{RGB}{0,255,0} \definecolor{color3}{RGB}{0,0,255}
\tikzfading[name=fade1, top color=transparent!0, bottom color=transparent!100] \tikzfading[name=fade2, top color=transparent!0, bottom color=transparent!100] \tikzfading[name=fade3, top color=transparent!0, bottom color=transparent!100] –
\shade[path fading=fade1, left color=color1, right color=color1] (0,0) rectangle (2,1); \shade[path fading=fade2, left color=color2, right color=color2] (0,1) rectangle (2,2); \shade[path fading=fade3, left color=color3, right color=color3] (0,2) rectangle (2,3); \end{tikzpicture}
\end{document}