Vielleicht ist die Schleife einfach komplett falsch (P wird falsch gesetzt und falsch erhöht => Copy&Paste Fehler):
Delphi-Quellcode:
P := Memory;
For J:=0 To Pred(H) Do // <- funktioniert leider nicht :-(
Begin
rowOut:=Bitmap.ScanLine[Pred(H) - J];
For I:=Pred(W) Downto 0 Do
Begin
rowOut[I]:=p^.rgb;
Inc(P);
End;
End;
Das sollte
imho funktionieren (ungestestet)