Home » Tipps & Tricks » Grafik » Grafikbearbeitung » Bild einfärben

Bild einfärben

Die Prozedur unterscheidet sich nur in einer Zeile von der Prozedur zum Umwandeln eines Bildes in Graustufen.
In dieser Zeile kann auch geändert werden, ob das Bild nicht vielleicht doch Blau, Grün, Gelb etc. eingefärbt werden soll (einfach ausprobieren).

procedure Faerben(C:TCanvas);
var x, y: integer;
  Color: LongInt;
  R, G, B, Gr: Byte;
begin
  with C do
    for x:= ClipRect.Left to ClipRect.Right do
      for y:= ClipRect.Top to ClipRect.bottom do
      begin
        Color:=ColorToRGB(Pixels[x,Y]);

        R := GetRValue(Color);
        G := GetGValue(Color);
        B := GetBValue(Color);

        Gr := Trunc(B*0.11+G*0.59+R*0.3);

        //*************************
        Pixels[x,Y]:=RGB(Gr,0,0);
        // Pixels[x,Y]:=RGB(0,0,Gr); -> Blau
        //*************************
      end;
end;