Hallo Zusammen,
ich möchte von RGB auf HSV umrechnen,
aber ich komme mit der Umrechnung hex2hsv nicht klar
und leider werde ich aus der Dokumentation auch nicht schau.
https://wiki.fhem.de/wiki/Color#Routinen_um_zwischen_Farbr.C3.A4umen_und_Darstellungen_zu_konvertieren (https://wiki.fhem.de/wiki/Color#Routinen_um_zwischen_Farbr.C3.A4umen_und_Darstellungen_zu_konvertieren)
my $a = Color::hex2hsv("00E9FF")
liefert mir
2020.12.30 09:59:51 1: Color::rgb2hsv value out of range [0,233,255]. should be in 0..1.
2020.12.30 09:59:51 3: 1
Wie komme ich von "00E9FF" zu "185,100,100"?
Danke im Voraus
Knut
OK, Lösung gefunden.
my $b = "00E9FF";
my @a = Color::rgb2hsv(hex(substr($b,0,2))/255,hex(substr($b,2,2))/255,hex(substr($b,4,2))/255);
$a[0] = sprintf("%.0f",$a[0]*359);
$a[1] = $a[1]*100;
$a[2] = $a[2]*100;
$b = $a[0].",".$a[1].",".$a[2];
Geht das nicht auch einfacher?