Der Hauptzweck des RGB-Farbmodells (Rot, Grün, Blau) besteht in der Erfassung, Darstellung und Anzeige von Bildern in elektronischen Systemen wie Fernsehgeräten und Computern
HSL (Hue Saturation Lightness) ist ein alternatives Farbmodell, das in den 1970er Jahren von Computergrafik-Forschern entwickelt wurde, um die Wahrnehmung von Farbmerkmalen durch das menschliche Sehvermögen genauer abzustimmen
Hier sind die Wiki-Artikel für RGB und HSL . Es ist üblich, dass Grafikprogramme die Berechnungen in HSL ausführen und später in das bevorzugte Format für die meisten Bildschirme konvertieren: RGB.
Die Aufgabe besteht darin, eine Funktion / ein Programm zu schreiben, die / das HSL als Eingabe und Ausgabe von RGB verwendet.
Sie können Ihre bevorzugte Darstellung für die E / A auswählen, sofern diese übereinstimmt.
Zum Beispiel kann sie ein Array / Tupels mit 3 Elementen oder ein Objekt mit 3 Eigenschaften genannt werden h
, s
und l
, aber ich werde andere geschickte Variationen annehmen, wie die HSL als ganzzahliges Empfangen (Verlust precision) und zur Ausgabe einer RGB - Ganzzahl.
Es kann davon ausgegangen werden, dass die Eingabe in Bereich und Format sicher ist. Sie können beide entscheiden. Ich empfehle dringend entweder die Bereiche 0-1 0-1 0-1
oder 0-360 0-100 0-100
für hsl und 0-1 0-1 0-1
oder 0-255 0-255 0-255
für rgb.
In jeder Antwort müssen beide oben genannten Punkte angegeben werden. Wenn Sie besonders stolz auf sie sind, können Sie Ihre Antworten mit verschiedenen Variationen versehen, auch wenn sie nicht weniger Zeichen enthalten als Ihre anderen Variationen. Legen Sie die kleinste auf.
Pseudo-Testfälle für 0-360 0-100 0-100
→0-255 0-255 0-255
h s l → r g b
0 0 0 → 0 0 0
90 56 17 → 43 68 19
202 19 39 → 81 104 118
72 55 26 → 88 103 30
Die Formeln zur Umrechnung finden Sie hier :
Dies ist eine gute Möglichkeit, die Konvertierung zu visualisieren:
a-b
Notation an sich falsch, wenn es sich um nicht ganzzahlige Werte handelt, aber ich würde sagen, dass es in Ordnung ist, die Frage besser lesbar zu halten. Wenn sich jemand beschwert, werde ich es überdenken.
[0,360)
damals :)
H
von0-360
ist[0,360)
, wäre es als besser geschrieben werden0-359
?