[delphi3] RGB -> TColor

Hi folks,
ich möchte drei fliesskommazahlen zwischen 0 und 1 ins TColor format umwandeln. in tcolor steht $00FF0000 für volles ror, $0000FF00 für volles grün und $000000FF für volles blau. wie mache ich das? mein versuch
var r,g,b : byte;
color : tcolor;
r := round(aRGB[1] * 255);
g := round(aRGB[2] * 255);
b := round(aRGB[3] * 255);
color := r * $010000

  • g * $000100
  • b * $000001;
    hat nicht funktioniert. by the way, wie setzte ich einzelne punkte in tcanvas? ich benutze immer moveto und lineto, aber es muss doch auch schlauer gehen, oder?
    danke chris

Hallo,

dafür gibts die Funktion RGB(R,G,B: Byte): TColor;

z.B.

var F: Integer;
r,g,b: Byte;
begin
F:=$000000FF;
r:= F and $000000FF;
g:= (F shr 8 ) and $000000FF;
b:= (F shr 16) and $000000FF;
Color:=RGB(r,g,b);
end;

(ungetestet, aber sollte so tun)

Gruss und viel Erfolg

RQ

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke
Hi Rüdiger!
Danke, jetzt funktioniert alles. Puuuh!
Chris

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]