Es scheint sinnvoll zu sein, eine einfache Antwort auf die Grundlagen von SVGs zu geben, neben den Details, die hier über Besonderheiten in Bezug auf Software bereitgestellt werden ...
Eine SVG-Datei ist nur eine Textdatei. Die Dateiendung lautet .svg, kann jedoch in einem Texteditor wie eine Datei mit der Endung .txt geöffnet werden
Eine einfache SVG-Datei sieht ungefähr so aus:
<svg width="580" height="400" xmlns="http://www.w3.org/2000/svg">
<!-- This is a comment -->
<g id="group1">
<title>My group</title>
<rect id="rectangle1" height="29" width="27" y="50" x="57" stroke-width="1.5" stroke="#000" fill="#ff0"/>
<ellipse ry="17" rx="16" id="circle1" cy="64" cx="113.5" stroke-width="1.5" stroke="#999" fill="#aaa"/>
<path id="path1" d="m56.5,97l51.5,1l5,25l-29,-5l-27.5,-21z" stroke-width="1.5" stroke="#f00" fill="#fff"/>
</g>
</svg>
Hier können Sie sehen, dass die Farben durch die Parameter definiert werden (wobei die Punkte durch Zeichen zwischen 0-9 oder AF ersetzt werden):
stroke=#...
fill=#...
Und die Strichbreite ist definiert durch
stroke-width="..."
Das Folgende kann mit dem Texteditor hinzugefügt werden, um alle definierten Werte zu ersetzen, die Sie in der SVG auswählen. Dadurch können die Werte von QGIS festgelegt werden. QGIS versteht einen Wert für 'param (fill)' - und die anderen 'param (...)' - Werte, da diese von QGIS selbst festgelegt werden.
Füllfarbe: fill="param(fill) #FFF"
Umriss- / Linienfarbe: stroke="param(outline) #000"
Umriss / Linienbreite: stroke-width="param(outline-width) 1"
Deckkraft auffüllen: fill-opacity="param(fill-opacity)"
Kontur- / Linienopazität: stroke-opacity="param(outline-opacity)"
Beachten Sie, dass Sie durch nichts daran gehindert werden können, die 'param (...)' - Werte an etwas ungeraden Stellen zu verwenden. Sie können also beispielsweise den 'param (Füllopazität)' - Wert verwenden, um eine Füllfarbe in einem Bit der zu definieren SVG-Datei, aber eine Strich- / Linienfarbe in einem anderen Bit der SVG.
Im QGIS-Komponisten- oder Stilsymboldialog sind die Einstellungen für die SVG-Farben ziemlich offensichtlich. Die Deckkraft für Füllung und Kontur / Linie wird als Teil der Farbeinstellungen festgelegt. Die Strich- / Linienbreiteneinstellung ist offensichtlich.
Zum Schluss noch zwei Punkte
Beachten Sie zunächst, dass in einer SVG-Datei die Farben als eine Sammlung von Attributen wie folgt definiert werden können:
style="fill:none;fill-opacity:1;stroke:#000000;"
Dies scheint nicht richtig zu funktionieren, wenn Sie die hier beschriebenen Parameter einfügen.
Zweitens können bei Verwendung von Software wie Illustrator oder Inkscape dem SVG-Text mit dieser Software viele zusätzliche Attribute hinzugefügt werden. Wenn Sie wissen, was Sie tun, und die Grundlagen einer SVG wie oben verstehen, kann dies das Leben vereinfachen, wenn Sie diesen zusätzlichen Text entfernen. Insbesondere stellen Sie möglicherweise fest, dass Farben durch die Definition von Stilen und nicht von Artikel zu Artikel festgelegt werden.