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;