Farben

Die Ausgabe von Farben im speedata Publisher ist sehr einfach. In der Regel reicht eine Angabe bei dem Objekt, das ausgegeben werden soll:

<PlaceObject column="4" row="4">
  <Circle
     radiusx="2"
     backgroundcolor="deeppink"
     framecolor="mediumaquamarine"
     rulewidth="8pt"/>
</PlaceObject>

Alle CSS4 Farben sind im Publisher definiert, siehe dazu die Liste bei <DefineColor>.

kreismitfarbe
Nicht jede Farbkombination ist schön

Möchte man Farben in einem anderen Farbraum (CMYK, Grau, Sonderfarben) ausgeben, müssen diese vorher definiert werden:

<DefineColor name="logocolor" model="spotcolor"
             colorname="PANTONE 116 C" />

<Record element="data">
  <PlaceObject>
    <Box width="5" height="2" backgroundcolor="logocolor"/>
  </PlaceObject>
</Record>
box116c
Diverse Sonderfarben sind im Publisher vorgegeben, so die Farbe Pantone 116.

Wird eine eigene Sonderfarbe definiert, die noch nicht im Publisher enthalten ist, müssen CMYK-Werte angegeben weren, damit im PDF ein Ersatz dargestellt werden kann. Sonderfarben sind im PDF an sich unbekannt und nur als Anweisung für den Drucker vorhanden. Daher müssen im PDF ebenfalls Anweisungen enthalten sein, wie diese Farbe am Bildschirm oder auf Druckern, die diese Sonderfarbe nicht enthalten, ausgegeben werden.

<DefineColor
    name="mycolor"
    model="spotcolor"
    colorname="speedatagreen"
    c="56" m="7" y="98" k="21" />

Hier wird eine Farbe definiert, die im Publisher bei den Ausgabebefehlen unter dem Namen mycolor angesprochen wird. Im PDF wird diese Farbe unter dem Namen speedatagreen geführt und in der Ausgabe erscheint diese dann in einem dunklen grün.

speedatagruen
Die neue Farbe erscheint im PDF als eigener Farbkanal

Angaben als HTML-Wert

Farben können beim Benutzen direkt definert werden:

<PlaceObject allocate="no" column="3">
    <Box height="4" width="5" backgroundcolor="#FFC72C"  />
</PlaceObject>

Die Farben können nicht nur als Hexadezimalwert (drei oder sechssstellig), sondern auch in der Form rgb(…​), z.B. rgb(255, 19, 147) angegeben werden, wie bei HTML. Diese Angaben können auch bei <DefineColor> benutzt werden:

<DefineColor name="meinrot" value="rgb(255,0,0)" />

Transparenz

Farbwerte können mit einem Alpha-Kanal angegeben werden, der die Farbintensität im Bereich von 0-100 angibt, wobei 100 eine volle Deckung ist und 0 die Farbe gar nicht darstellt. HTML-Angaben wie rgb(…​) können als vierten Parameter die Deckungskraft als Wert von 0–1 angeben. Transparenz funktioniert möglicherweise nicht mit jedem Grafikobjekt. Bitte nicht zögern und ggf. einen Fehlerbericht schreiben.