Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#2

AW: Delphi verändern

  Alt 11. Mai 2015, 18:05
Nehmen wir mal als Vorlage eine alte FormGradient Funktion und ändern sie leicht ab, bekommen wir eine Funktion mit dem wir ein Mischungsverhältnis zweier Farben berechnen können:

Delphi-Quellcode:
function ColorMix(Color1, Color2: TColor; Index, Count: Word): TColor;
var
  R, G, B: Integer;
begin
  if Index > Count then
    Index := Count;

  R := Round(GetRValue(Color1) + ((GetRValue(Color2) - GetRValue(Color1)) *
    Index / Count));
  G := Round(GetGValue(Color1) + ((GetGValue(Color2) - GetGValue(Color1)) *
    Index / Count));
  B := Round(GetBValue(Color1) + ((GetBValue(Color2) - GetBValue(Color1)) *
    Index / Count));

  Result := RGB(R, G, B);
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  Count = 100;
var
  Index: Integer;
begin
  with Canvas do
  begin
    Pen.Width := 5;

    for Index := 0 to Count do
    begin
      Pen.Color := ColorMix(clGreen, clRed, Index, Count);
      Rectangle(100, 100, 500, 400);
      Sleep(20);
    end;
  end;
end;
  Mit Zitat antworten Zitat