Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
Re: RGB-Farben ändern ?
25. Nov 2003, 14:28
Meintest du das zum Beispiel so?
Delphi-Quellcode:
Uses Math;
Procedure HDAnpassen(HD: ShortInt);
{ HD: -100..0 = dunkler / 0..100 = heller }
Var Farbe: TColor;
R, G, B: Byte;
Begin
Farbe := ColorToRGB(Form1.Color);
R := (Farbe and $000000FF);
G := (Farbe and $0000FF00) shr 8;
B := (Farbe and $00FF0000) shr 16;
If HD < 0 Then Begin
R := Trunc(R + (R * HD / 100));
G := Trunc(G + (G * HD / 100));
B := Trunc(B + (B * HD / 100));
{Form1.Memo1.Lines.Add('***** dunkler ***** ' + IntToStr(R));}
Form1.Memo1.Lines.Add(' ***** dunkler ***** ' +
IntToStr(R) + ' :' + IntToStr(G) + ' :' + IntToStr(B));
End Else Begin
R := Ceil(R + ((255 - R) * HD / 100));
G := Ceil(G + ((255 - G) * HD / 100));
B := Ceil(B + ((255 - B) * HD / 100));
{Form1.Memo1.Lines.Add('***** heller ***** ' + IntToStr(R));}
Form1.Memo1.Lines.Add(' ***** heller ***** ' +
IntToStr(R) + ' :' + IntToStr(G) + ' :' + IntToStr(B));
End;
Form1.Color := RGB(R, G, B);
End;
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
(* 10% heller *)
HDAnpassen(10);
End;
Procedure TForm1.Button2Click(Sender: TObject);
Begin
(* 10% dunkler *)
HDAnpassen(-10);
End;
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
$2B or not $2B
|