Thema: Delphi TBitmap färben

Einzelnen Beitrag anzeigen

Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#6

Re: TBitmap färben

  Alt 18. Okt 2003, 09:44
Ja, ich hatte halt ein Graustufenbild, da ist ja R, G und B eh gleich...
Für die die auch so ein Problem haben wie ich hier mal meine Lösung:

Delphi-Quellcode:
procedure TForm5.Faerben(bmpFile : string; color: TColor);
var
  x,y, pixelColor,r,g,b : integer;
  bmp : TBitmap;
begin

  bmp := Tbitmap.Create;
  bmp.LoadFromFile(bmpFile);

  r := GetRValue(color);
  g := GetGValue(color);
  b := GetBValue(color);

  for x:=0 to BMP.Width do
  begin
    for y:=0 to BMP.Height do
    begin
      pixelColor := BMP.Canvas.Pixels[x,y];

      PixelColor := RGB(round(r*(getRValue(PixelColor) / 255)),
                        round(g*(getGValue(PixelColor) / 255)),
                        round(b*(getBValue(PixelColor) / 255)));
      BMP.Canvas.Pixels[x,y] := PixelColor;
    end;
  end;
  bmp.SaveToFile(bmpFile);
  BMP.Free;
end;
Florian Heft
  Mit Zitat antworten Zitat