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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta