Zitat:
1. Du übergibst
RGB() immernoch die falsche Reihenfolge! Dies hatte ich oben schon angemerkt. Erst rot, grün und dann blau.
Ich habe deinen Code umgesetzt, aber es tut sich imer noch nichts, die Bedingung funktioniert aber,
ich habe das mit einem Showmessage überprüft. Hier mal den Ganzen Code ausm Kontext:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var x,y: integer;
P,P2: PRGBQuad;
//P,P2: PRGBTriple;
begin
Bitmap1 := TBitmap.Create;
Bitmap2 := TBitmap.Create;
Bitmap1.LoadFromFile('
i.bmp');
Bitmap2.LoadFromFile('
X.bmp');
Bitmap1.PixelFormat:= pf32Bit;
Bitmap2.PixelFormat:= pf32Bit;
image1.Canvas.Draw(0,0,bitmap1);
for y := 0
to bitmap2.Height-1
do
begin
P := bitmap2.Scanline[y];
P2 := image1.Picture.Bitmap.ScanLine[y];
for x := 0
to bitmap2.Width-1
do
begin
if RGB(P^.rgbRed, P^.rgbGreen, P^.rgbBlue) <> ColorToRGB(clFuchsia)
then
P2^ := P^;
inc(P);
inc(P2);
end;
end;
end;
Das sollte klappen, tuts aber nicht