HSL2RGB

Kategorie: Arithmetik
Ab Engineversion: 1.0 OC

Beschreibung

Wandelt einen 24Bit HSL-Wert in den bekannten 32Bit RGB-Farbwert um.
Der 24Bit HSL-Wert kann mit RGB(Hue,Saturation,Lightness) erzeugt werden.

Syntax

int HSL2RGB(int Val);

Parameter

Val:
24Bit HSL-Wert

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.
Siehe auch: RGB, RGB2HSL, SetRGBaValue
Tyron, 2004-09