Kategorie: Arithmetik
Ab Engineversion: 1.0 OC
RGB2HSL
Beschreibung
Wandelt einen 32Bit-Farbwert in die entsprechenden Hue-, Saturation- und Lightness-Werte um wie bereits von Malprogrammen bekannt.
Die HSL Werte werden ebenfalls als int zurückgegeben und können mit GetRGBaValue oder SplitRGBaValue weiter verwendet werden.
Alle Werte sind von 0 bis 255 skaliert.
Die HSL Werte werden ebenfalls als int zurückgegeben und können mit GetRGBaValue oder SplitRGBaValue weiter verwendet werden.
Alle Werte sind von 0 bis 255 skaliert.
Syntax
int RGB2HSL(int Val);
Parameter
- Val:
- 32Bit-Farbwert
Anmerkung
Da es in Clonk keinen Float-Datentyp gibt können die umgerechneten Werte einen geringen Fehler enthalten. (Im Regelfall nicht mehr als +1 bzw. -1)
Beispiel
#appendto Clonk func Initialize() { AddEffect("VariateHue",this,200,1,this); return _inherited(); } func FxVariateHueTimer() { var hsl = RGB2HSL(GetColor()); var hsla_array = SplitRGBaValue(hsl); hsla_array[0] += 2; if(hsla_array[0] > 255) hue = 0; var rgb = HSL2RGB(RGB(hsla_array[0],hsla_array[1],hsla_array[2])); SetColor(rgb); }
Erzeugt in jedem Clonk einen Effekt der die Farbe der Clonks Regenbogenartig variieren lässt.
Zum ausprobieren den Script am besten in einen Szenarienlokale System.ocg Ordner kopieren
Der Hue-Wert wird hier mit Absicht mit jeweils um 2 erhöht, da der geringe Fehler bei der Umrechnung sonst wirksam wird und gar nichts geschieht.
Zum ausprobieren den Script am besten in einen Szenarienlokale System.ocg Ordner kopieren
Der Hue-Wert wird hier mit Absicht mit jeweils um 2 erhöht, da der geringe Fehler bei der Umrechnung sonst wirksam wird und gar nichts geschieht.