Thema: Delphi RGB-Farben ändern ?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#13

Re: RGB-Farben ändern ?

  Alt 25. Nov 2003, 13: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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat