Cómo convertir HSB a RGB
Yo teniendo una delphiProyecto XE2 cambiarLabel01 Font Color
utilizandoTimer04
. Así que he escrito los siguientes códigos:
procedure TMainForm.FormCreate(Sender: TObject);
begin
Timer04.Enabled := true;
end;
..
..
..
..
..
procedure TMainForm.Timer04Timer(Sender: TObject);
var
StartColor, RedColor, GreenColor, BlueColor: integer;
begin
StartColor := ColorToRGB(Label01.Font.Color);
RedColor := GetRValue(StartColor);
GreenColor := GetGValue(StartColor);
BlueColor := GetBValue(StartColor);
if RedColor <= 251 then Inc(RedColor, 1) else RedColor := 1;
if GreenColor <= 252 then Inc(GreenColor, 2) else GreenColor := 2;
if BlueColor <= 253 then Inc(BlueColor, 3) else BlueColor := 3;
Label01.Font.Color := RGB(RedColor, GreenColor, BlueColor);
end;
Estos códigos funcionan perfectamente.Label01 Font Color
Cambios entre diferentes colores.
Ahora estoy tratando de implementar esoLabel02 Color
será fijo (digamos verde) y el valor de brightnees se incrementará de0 a100. Si el valor alcanza a100 se reducirá a0 y será continuo a un bucle.
Para mi caso he elegidoHUE=135
, SATURATION=85
yBRIGHTNESS=50
. El valor deBRIGHTNESS
será aumentado de50 a100 y luego se reducirá de100 a0 y será continuado. Pero el problema es que no hay talFunction
disponible para convertirHSB
aRGB
y viceversa enDelphi XE2
. Lo he enloquecido. Pero he encontrado algunaFunction
comoHSBToRGB
. Sólo algunosDelphi Unit
esta disponible He leído sus versiones y descubrí que todos tienen algunos errores.