Thema
:
Delphi
LED Lichtmischung?
Einzelnen Beitrag anzeigen
Mavarik
Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
Delphi 10.3 Rio
#
12
AW: LED Lichtmischung?
2. Nov 2014, 11:11
hab das was gefunden...
markieren
Code:
void hsi2rgbw(float H, float S, float I, int* rgbw) {
int r, g, b, w;
float cos_h, cos_1047_h;
H = fmod(H,360); // cycle H around to 0-360 degrees
H = 3.14159*H/(float)180; // Convert to radians.
S = S>0?(S<1?S:1):0; // clamp S and I to interval [0,1]
I = I>0?(I<1?I:1):0;
if(H < 2.09439) {
cos_h = cos(H);
cos_1047_h = cos(1.047196667-H);
r = S*255*I/3*(1+cos_h/cos_1047_h);
g = S*255*I/3*(1+(1-cos_h/cos_1047_h));
b = 0;
w = 255*(1-S)*I;
} else if(H < 4.188787) {
H = H - 2.09439;
cos_h = cos(H);
cos_1047_h = cos(1.047196667-H);
g = S*255*I/3*(1+cos_h/cos_1047_h);
b = S*255*I/3*(1+(1-cos_h/cos_1047_h));
r = 0;
w = 255*(1-S)*I;
} else {
H = H - 4.188787;
cos_h = cos(H);
cos_1047_h = cos(1.047196667-H);
b = S*255*I/3*(1+cos_h/cos_1047_h);
r = S*255*I/3*(1+(1-cos_h/cos_1047_h));
g = 0;
w = 255*(1-S)*I;
}
rgbw[0]=r;
rgbw[1]=g;
rgbw[2]=b;
rgbw[3]=w;
Muss ich mal testen...
Frank Lauter
E
mbarcadero
MVP
•
FDK
das
F
iremonkey-
D
evelopment-
K
it
•
Mein Blog
•
Schulungen für
FMX
•
Mein
YouTube
Channel
•
Wiki unserer
Delphifrühstück
Usergroup
Zitat
Mavarik
Öffentliches Profil ansehen
Besuche die Homepage von Mavarik!
Mehr Beiträge von Mavarik finden