Dokumentation
SetValueColor
bool SetValueColor (int $VariablenID, int $Farbwert)
Parameterliste
| VariablenID | ID der Variable |
| Farbwert | Farbe im Format 0xRRGGBB |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion setzt den Inhalt der Variable mit der ID VariablenID auf die Farbe Farbwert im Format 0xRRGGBB. Die Farbe wird dabei passend zur Variable abgelegt:
- Integer-Variablen erhalten Farbwert unverändert. Eine Prüfung der Darstellung findet nicht statt.
- String-Variablen müssen die Darstellung Farbe verwenden. Farbwert wird entsprechend dem Parameter ENCODING der Darstellung umgerechnet und als JSON-Objekt gespeichert. Es werden nur die unteren 24 Bit von Farbwert ausgewertet.
| ENCODING | Konstante | Kodierung | JSON-Wert der String-Variable | Wertebereiche |
|---|---|---|---|---|
| 0 | COLOR_ENCODING_RGB |
RGB | {"r": ..., "g": ..., "b": ...} | r, g, b: 0 - 255 |
| 1 | COLOR_ENCODING_CMYK |
CMYK | {"c": ..., "m": ..., "y": ..., "k": ...} | c, m, y, k: 0 - 100 |
| 2 | COLOR_ENCODING_HSV |
HSV | {"h": ..., "s": ..., "v": ...} | h: 0 - 360, s, v: 0 - 100 |
| 3 | COLOR_ENCODING_HSL |
HSL | {"h": ..., "s": ..., "l": ...} | h: 0 - 360, s, l: 0 - 100 |
| 4 | COLOR_ENCODING_XY |
xy | {"x": ..., "y": ...} | x, y: Position auf der CIE-Normfarbtafel, 0 - 1 |
Bei der Kodierung xy wird nur die Farbart gespeichert, keine Helligkeit. Die Umrechnung erfolgt über den Farbraum der Darstellung (COLOR_SPACE); außer bei Farbraum 5 (Keiner) werden die Koordinaten auf das Farbdreieck des Farbraums begrenzt. Bei CMYK, HSV, HSL und xy entstehen durch die Umrechnung Gleitkommazahlen.
Wie bei SetValue wird ausschließlich der Wert der Variable geschrieben; eine Aktion wird nicht ausgeführt, das Gerät wird also nicht geschaltet. Dafür ist RequestActionColor zu verwenden.
Verwendet eine String-Variable nicht die Darstellung Farbe, schlägt die Funktion mit "Variable does not use presentation Color" fehl. Bei einer unbekannten Kodierung schlägt sie mit "Invalid Color Encoding" fehl, die Variable bleibt dann unverändert; bei Variablen vom Typ Boolean oder Float mit "Invalid Variable Type". Ist die Variable schreibgeschützt (z.B. eine Statusvariable eines Moduls), schlägt die Funktion mit "Variable is marked as read-only and cannot be changed" fehl.
Siehe auch GetValueColor.
Beispiel
// Orange setzen
SetValueColor(12345, 0xFF8000);
// Bei einer String-Variable mit der Darstellung Farbe und der Kodierung RGB
echo GetValue(12345);
// liefert: {"b":0,"g":128,"r":255}