Neue Version..
Es waren leider noch einige Korrekturen von Nöten. (Danke an Michael II)
Wir merken uns jetzt den Pointer auf Pixel (0,0)
RGBQuad := BitmapData.Scan0;
von daher können wir uns den Scan0 auf jede Zeile sparen.
RGBQuad := Scanline(BitmapData, Row);
ist also nicht mehr nötig.
zudem waren diese Zuweisungen auch unnötig.
Delphi-Quellcode:
DWORD(Pixel) := 0;
RGBQuad^ := Pixel;
wir können die 0 direkt an RGBQuad übergeben.
DWORD(RGBQuad^) := 0;
Die Funktion Scanline wurde entfernt.
GDIP_BitmapUnlockBits wurde zu früh aufgerufen das Bitmap war also nach der 1 Zeile (0) schon nicht mehr geschützt.
gruss