< SVG

Farbwerte in SVG

Wie bereits für die Eigenschaft fill erläutert, können Farbwerte in SVG in verschiedener Form angegeben werden. Immer verfügbar ist die numerische Angabe, entweder in hexadezimaler Form (#abc oder #abcdef) oder in dezimaler Form (rgb(1,2,3)) oder als Prozentwerte (rgb(1%,2%,3%)). Dazu gibt es die sechzehn Farbwörter von (X)HTML: black, green, silver, lime, gray, olive, white, yellow, maroon, navy, red, blue, purple, teal, fuchsia, aqua (siehe unten für die entsprechenden numerischen Angaben).

Das volle Profil von SVG 1.1 und auch SVG tiny 1.2 verfügen über die ursprünglich in CSS2 definierten Schlüsselwörter für Systemfarben.

In SVG tiny 1.2 wurden zudem feste Farben als Maldienst neu eingeführt. Damit kann der Autor selbst Schlüsselwörter beziehungsweise einen Maldienst für oft verwendete Farben definieren.

Im vollen Profil von SVG 1.1 sind ferner einige weitere Farben mit Namen benannt (wie ursprünglich in CSS definiert), diese Schlüsselwörter müssen dann allerdings nicht bei einem Darstellungsprogramm für das tiny-Profil funktionieren.

Hexadezimaler Farbwert

Zur Angabe eines hexadezimalen Farbwertes wird eine Notation mit drei Farbkanälen, rot, grün, blau im Standardfarbraum sRGB verwendet. Die Angabe beginnt mit einem # gefolgt von hexadezimalen Ziffern.

Dies ist entweder exakt eine Ziffer für jeden Farbkanal, also 3 Ziffern, jeweils eine Möglichkeit von folgenden: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F. Große und kleine Buchstaben bedeuten jeweils das gleiche, im dezimalen System sind a bis f die Zahlen 10 bis 15.

Alternativ kann auch eine Notation mit zwei von den Ziffern pro Kanal gewählt werden, deckt dann dezimal den Bereich von 0 bis 255 ab. Die Konversion von der einziffrigen Notation in der mit zwei Ziffern pro Kanal erfolgt einfach durch Verdopplung der einzelnen Ziffer, #fff ist also gleich #ffffff oder auch weiß oder #abc ist gleich #aabbcc.

Dezimaler Farbwert

Dezimale Angaben aus dem gleichen Bereich von 0 bis 255 für jeden Kanal sind ebenfalls verfügbar. Es gibt wieder die drei Kanäle des Standardfarbraumes sRGB. Die Notation beginnt mit 'rgb(' und endet mit ')' dazwischen befinden sich die Angaben zu den drei Kanälen, jeweils mit Komma separiert, also zum Beispiel rgb(255,255,255) entspricht #fff in hexadezimaler Schreibweise oder auch weiß.

Prozentualer Farbwert

Statt einer dezimalen Angabe ist auch die Angabe von drei Prozentwerten möglich, jeweils im Bereich von 0% bis 100%, die Angabe des Symboles '%' ist wichtig, damit das Darstellungsprogramm zwischen Prozentangaben und dezimalen Angaben unterscheiden kann. Es darf nicht gemischt werden, also ein Kanal in dezimaler Notation und einer in prozentualer Notation ist nicht erlaubt. Ansonsten ist die Notation für prozentuale Angaben die gleiche wie für dezimale, Beispiel: rgb(17.1345%,0.57%,99.2%). Anders als bei den anderen Notationen sind bei Prozentangaben auch nichtganzzahlige Angaben erlaubt.

Farbprofil

Mit dem Element color-profile kann ein ICC-Farbprofil (International Color Consortium) festgelegt werden. Die Funktionalität dieses Elementes entspricht der CSS-Regel @color-profile.

Mit dem Attribut wird eine Ressource für ein ICC-Farbprofil referenziert.

Für dieses Element ist dieses Attribut nicht animierbar. Neben diesem Attribut sind auch die anderen von XLink verfügbar.

Attribut local

Alternativ zur Referenzierung einer externen Ressource mit href von XLink kann auch der Fragmentidentifizierer einer lokalen Ressource angegeben werden. Dies kann mit dem Attribut local passieren. Sind beide Möglichkeiten angegeben, wird erst die lokale Ressource durchsucht, wenn dort das Farbprofil nicht gefunden wird, wird auch noch die externe Ressource durchsucht.

Der Wert des Attributes ist eine Zeichenkette, welche einen Fragmentidentifizier im Sinne von ICC darstellt.

Das Attribut ist nicht animierbar.

Attribut name

Das Attribut gibt den Namen an, der als erster Parameter bei der Verwendung eines ICC-Profiles bei der Angabe eines Farbwertes (zum Beispiel für fill und stroke etc) verwendet wird.

Der Wert ist eine Zeichenkette. Das Attribut ist nicht animierbar.

Der Name 'sRGB' ist reserviert und nicht erlaubt.

Attribut rendering-intent

Das Attribut legt die beabsichtigte Darstellungsart fest. Möglich sind die Werte:

auto
Voreinstellung, das Darstellungsprogramm entscheidet automatisch
perceptual
Das Gamut wird verändert, um die Verhältnisse zwischen Farbwerten zu erhalten
relative-colorimetric
Angaben innerhalb des Gamuts bleiben erhalten, außerhalb wird an den Rand des erlaubten Bereiches verschoben
saturation
Die Farben werden so konvertiert, dass die Sättigung erhalten bleibt
absolute-colorimetric
Schaltet Punkt-für-Punkt-Anpassung ab, nicht empfohlen.

Das Attribut ist nicht animierbar.

Eigenschaft color-profile

Die Eigenschaft ist anwendbar für Elemente, die Pixelgraphik referenzieren, wie image und gibt das Farbprofil an, welches verwendet werden soll, um das Bild darzustellen.

Mögliche Werte sind:

inherit
geerbt
auto
Voreinstellung. Hat das Bild ein eigenes Farbprofil, wird dies verwendet, sonst sRGB.
sRGB
Farbprofil sRGB, wie auch anderweitig in SVG verwendet
Name
Angabe des Namens eines Farbprofils
IRI
IRI zu einem Farbprofil

Das Attribut ist animierbar. Die Eigenschaft wird vererbt.

Systemfarben oder Systemmaldienste

Beispiel Systemfarben
SVG
1.1 1.7 9.0 3.0 - - ? ? -

In SVG 1.1 können Systemfarben mit Schlüsselwörtern angegeben werden. Ob die Systemfarben auch in SVG tiny 1.1 verfügbar sind, ist nicht eindeutig festgelegt. Die gleichen Schlüsselwörter werden allerdings in SVG tiny 1.2 als Maldienste bereitgestellt. Es gibt folgende Schlüsselwörter mit der Angabe, wo die entsprechenden Farben auftauchen:

ActiveBorder
Rand des aktiven Fensters.
ActiveCaption
Titel des aktiven Fensters.
AppWorkspace
Hintergrundfarbe der Schnittstelle bei mehrfachen Dokumenten.
Background
Arbeitsflächenhintergrund.
ButtonFace
Oberflächenfarbe von dreidimensionalen Anzeigelementen.
ButtonHighlight
Dunkler Schatten von dreidimensionalen Anzeigelementen (Kanten an der lichtabgewandten Seite).
ButtonShadow
Farbe des Schattens von dreidimensionalen Anzeigelementen.
ButtonText
Text auf Druckknöpfen.
CaptionText
Text der Überschrift, Größeneinstellungsbereich, Rollbalkenpfeilbereich.
GrayText
Deaktivierter, ausgegrauter Text.
Highlight
Ausgewählte Punkte einer Kontrolliste.
HighlightText
Text in ausgewählten Punkten einer Kontrolliste.
InactiveBorder
Inaktiver Fensterrand.
InactiveCaption
Inaktiver Fenstertitel.
InactiveCaptionText
Farbe des Textes eines inaktiven Fenstertitels.
InfoBackground
Hintergrundfarbe für Kontrollelemente von Nutzerhilfen.
InfoText
Textfarbe für Kontrollelemente von Nutzerhilfen.
Menu
Menü Hintergrund.
MenuText
Text in Menüs.
Scrollbar
Grauer Bereich eines Rollbalkens.
ThreeDDarkShadow
Dunkler Schatten von dreidimensionalen Anzeigelementen.
ThreeDFace
Overflächenfarbe von dreidimensionalen Anzeigelementen.
ThreeDHighlight
Herausstellungsfarbe von dreidimensionalen Anzeigelementen.
ThreeDLightShadow
Farbe des Lichtes von dreidimensionalen Anzeigelementen (die dem Licht zugewandten Kanten).
ThreeDShadow
Dunkler Schatten von dreidimensionalen Anzeigelementen.
Window
Fensterhintergrund.
WindowFrame
Fensterrahmen.
WindowText
Text im Fenster.

Anwendungsbeispiel:

fill="Window" stroke="WindowFrame"

Beispiel Systemfarben

Maldienst feste Farbe, solidColor

SVG
1.2 tiny 1.7 9.5 - - - ? ? ?
Beispiel feste Farben

Mit dem Element solidColor bietet SVG tiny 1.2 eine Möglichkeit, Schlüsselwörter für Farben (einschließlich Opazität) festzulegen, um sie dann zu verwenden. Bei Bedarf können also auch die in der Vollversion von SVG 1.1 verfügbaren Farbnamen so definiert und verfügbar gemacht werden.

Die Farbe wird mit der Eigenschaft solid-color festgelegt, die Opazität mit der Eigenschaft solid-opacity. Mit dem Attribut id beziehungsweise xml:id wird das Element solidColor mit einem Fragmentidentifizierer versehen und kann so als Maldienst referenziert werden.

Eigenschaft feste Farbe, solid-color

solid-color legt eine feste Farbe fest. Mögliche Werte sind:

inherit
geerbt
currentColor
aktuelle Farbe, mit color festgelegt
Farbangabe
Eine Farbangabe in numerischer Form oder mit einem Farbnamen

Der Wert wird nicht vererbt, ist aber animierbar. Der vorgegebene Wert ist black (schwarz).

Eigenschaft feste Opazität, solid-opacity

solid-opacity legt eine feste Opazität fest. Mögliche Werte sind:

inherit
geerbt
Opazitätsangabe
eine Zahl zwischen 0 und 1 einschließlich, beziehungsweise ein Wert außerhalb dieses Intervalls wird vor der Darstellung auf den nächstgelegenen zulässigen Wert konvertiert. 0 ist komplett durchsichtig, 1 komplett undurchsichtig.

Der Wert wird nicht vererbt, ist aber animierbar. Der vorgegebene Wert ist 1 (undurchsichtig oder komplett opak).

Beispiel feste Farbe

Beispiel zur Anwendung:

<defs>
    <solidColor xml:id="UiUiUi" solid-color="#fc8" solid-opacity="0.8367">
    <animate attributeName="solid-color" dur="13s" repeatDur="indefinite"
             values="#fc8;#c40;#4c0;#fc8"/>
    </solidColor>
    <solidColor xml:id="OiOiOi" solid-color="#c8f" solid-opacity="0.7367"/>
    <solidColor xml:id="EiEiEi" solid-color="#cf8" solid-opacity="0.6367"/>
</defs>

<g color="#f08" fill="#80f">
<circle r="280" fill="url(#EiEiEi)" />
<circle r="260" fill="url(#OiOiOi)" />
<circle r="240" fill="url(#UiUiUi)" />
<circle r="220" fill="currentColor" />
<circle r="200" />
<circle r="180" fill="url(#EiEiEi)" />
<circle r="160" fill="url(#OiOiOi)" />
<circle r="140" fill="url(#UiUiUi)" />
<circle r="120" fill="currentColor" />
<circle r="100" />
<circle r="80" fill="url(#EiEiEi)" />
<circle r="60" fill="url(#OiOiOi)" />
<circle r="60" fill="url(#UiUiUi)" />
<circle r="40" fill="currentColor" />
<circle r="20" />
</g>

Beispiel feste Farben
Konzentrische Kreise werden verschieden eingefärbt, wofür geerbte Werte für fill verwendet werden, currentColor und feste Farben, die mit solidColor definiert sind. Eine feste Farbe wird animiert.


Farbnamen in der Vollversion von SVG 1.1

SVG
1.1 1.7 9.0 3.0 3.2 3 ? ? 1

In der Vollversion von SVG 1.1 können statt der numerischen Angaben auch folgende Farbnamen verwendet werden (Groß- oder Kleinschreibung ist nicht signifikant, kann beliebig gemischt werden):

Farbname Beispiel Komponenten (Rot,Grün, Blau)
Hexadezimal Dezimal
AliceBlue   F0F8FF 240248255
AntiqueWhite   FAEBD7 250235215
Aqua   00FFFF 0255255
Aquamarine   7FFFD4 127255212
Azure   F0FFFF 240255255
Beige   F5F5DC 245245220
Bisque   FFE4C4 255228196
Black   000000 000
BlanchedAlmond   FFEBCD 255235205
Blue   0000FF 00255
BlueViolet   8A2BE2 13843226
Brown   A52A2A 1654242
BurlyWood   DEB887 222184135
CadetBlue   5F9EA0 95158160
Chartreuse   7FFF00 1272550
Chocolate   D2691E 21010530
Coral   FF7F50 25512780
Cornflower   6495ED 100149237
Cornsilk   FFF8DC 255248220
Crimson   DC143C 2202060
Cyan   00FFFF 0255255
DarkBlue   00008B 00139
Dark Cyan   008B8B 0139139
DarkGoldenrod   B8860B 18413411
DarkGray   A9A9A9 169169169
DarkGreen   006400 01000
DarkKhaki   BDB76B 189183107
DarkMagenta   8B008B 1390139
DarkOliveGreen   556B2F 8510747
DarkOrange   FF8C00 2551400
DarkOrchid   9932CC 15350204
DarkRed   8B0000 13900
DarkSalmon   E9967A 233150122
DarkSeaGreen   8FBC8F 143188143
DarkSlateBlue   483D8B 7261139
DarkSlateGray   2F4F4F 477979
DarkTurquoise   00CED1 0206209
DarkViolet   9400D3 1480211
DeepPink   FF1493 25520147
DeepSkyBlue   00BFFF 0191255
DimGray   696969 105105105
DodgerBlue   1E90FF 30144255
Firebrick   B22222 1783434
FloralWhite   FFFAF0 255250240
ForestGreen   228B22 3413934
Fuchsia   FF00FF 2550255
Gainsboro   DCDCDC 220220220
GhostWhite   F8F8FF 248248255
Gold   FFD700 2552150
Goldenrod   DAA520 21816532
Gray, Grey   808080 128128128
Green   0800 01280
GreenYellow   ADFF2F 17325547
Honeydew   F0FFF0 240255240
HotPink   FF69B4 255105180
IndianRed   CD5C5C 2059292
Indigo   4B0082 750130
Ivory   FFFFF0 255255240
Khaki   F0E68C 240230140
Lavender   E6E6FA 230230250
LavenderBlush   FFF0F5 255240245
LawnGreen   7CFC00 1242520
LemonChiffon   FFFACD 255250205
LightBlue   ADD8E6 173216230
LightCoral   F08080 240128128
LightCyan   E0FFFF 224255255
LightGoldenrod   FAFAD2 250250210
LightGreen   90EE90 144238144
LightGrey   D3D3D3 211211211
LightPink   FFB6C1 255182193
LightSalmon   FFA07A 255160122
LightSeaGreen   20B2AA 32178170
LightSkyBlue   87CEFA 135206250
LightSlateGray   778899 119136153
LightSteelBlue   B0C4DE 176196222
LightYellow   FFFFE0 255255224
Lime   00FF00 02550
LimeGreen   32CD32 5020550
Linen   FAF0E6 250240230
Magenta   FF00FF 2550255
Maroon   800000 12800
MediumAquamarine   66CDAA 102205170
MediumBlue   0000CD 00205
MediumOrchid   BA55D3 18685211
MediumPurple   9370DB 147112219
MediumSeaGreen   3CB371 60179113
MediumSlateBlue   7B68EE 123104238
MediumSpringGreen   00FA9A 0250154
MediumTurquoise   48D1CC 72209204
MediumVioletRed   C71585 19921133
MidnightBlue   191970 2525112
MintCream   F5FFFA 245255250
MistyRose   FFE4E1 255228225
Moccasin   FFE4B5 255228181
NavajoWhite   FFDEAD 255222173
Navy   000080 00128
OldLace   FDF5E6 253245230
Olive   808000 1281280
OliveDrab   6B8E23 10714235
Orange   FFA500 2551650
OrangeRed   FF4500 255690
Orchid   DA70D6 218112214
PaleGoldenrod   EEE8AA 238232170
PaleGreen   98FB98 152251152
PaleTurquoise   AFEEEE 175238238
PaleVioletRed   DB7093 219112147
PapayaWhip   FFEFD5 255239213
PeachPuff   FFDAB9 255218185
Peru   CD853F 20513363
Pink   FFC0CB 255192203
Plum   DDA0DD 221160221
PowderBlue   B0E0E6 176224230
Purple   800080 1280128
Red   FF0000 25500
RosyBrown   BC8F8F 188143143
RoyalBlue   4169E1 65105225
SaddleBrown   8B4513 1396919
Salmon   FA8072 250128114
SandyBrown   F4A460 24416496
SeaGreen   2E8B57 4613987
Seashell   FFF5EE 255245238
Sienna   A0522D 1608245
Silver   C0C0C0 192192192
SkyBlue   87CEEB 135206235
SlateBlue   6A5ACD 10690205
SlateGray   708090 112128144
Snow   FFFAFA 255250250
SpringGreen   00FF7F 0255127
SteelBlue   4682B4 70130180
Tan   D2B48C 210180140
Teal   008080 0128128
Thistle   D8BFD8 216191216
Tomato   FF6347 2559971
Turquoise   40E0D0 64224208
Violet   EE82EE 238130238
Wheat   F5DEB3 245222179
White   FFFFFF 255255255
WhiteSmoke   F5F5F5 245245245
Yellow   FFFF00 2552550
YellowGreen   9ACD32 15420550
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.