Hallo,
ich möchte eine Methode schreiben die bestimmte Graustufen
mit einer Farbe markiert, in diesem Fall sollen alle Graustufen
zwischen 200 und 255 mit rot markiert werden.
Leider scheint das irgendwie nicht zu klappen (siehe Anhang).
Hat Jemand eine Idee woran das liegen könnte?
Delphi-Quellcode:
Var
lBitmap : TBitmap;
x, y, z : Integer;
P : PRGBQuad;
Begin
img_Changed.Picture.Assign(Nil);
lBitmap := TBitMap.create;
Try
lBitmap.Assign(CacheBitmap);
for y := 0 to lBitmap.Height - 1 do
begin
P := lBitmap.ScanLine[y];
for x := 0 to lBitmap.Width - 1 do
begin
for z := 200 to 255 do
begin
If ( P^.rgbRed = z ) AND ( P^.rgbGreen = z ) AND ( P^.rgbBlue = z ) Then
Begin
P^.rgbRed := z;
P^.rgbGreen := 0;
P^.rgbBlue := 0;
end;
Inc(P);
end;
End;
img_Changed.Picture.Assign(lBitmap);
Finally
lBitmap.Free;
End;