Ich brauch das nicht zu testen.
Es ist falsch, selbst wenn es funktioniert.
Dann hast du nur unendliches Glück, dass alle Unter-Arrays direkt hintereinander im Speicher liegen.
Das kannst und darfst du allerdings nicht annehmen!
Habe mal nachgebaut was du quasi machst (siehe Ahnhang).
Wie du siehst sind in meinem 1D ByteArray nur die Einträge aus arr[0], also der ersten Zeile.
Hmm.. nun gut ich glaube dir destotrotz siehe dir die Bilder an die sagen alles. (Musst du aber nicht)
20 Bilder im gleichen Zug auf die Platte geknallt.
Delphi-Quellcode:
if IntI < 20 then
begin
GDIP_SaveImageToFile(ExtractFilePath(ParamStr(0)) + '\Text_' + IntToStr(IntI) + '.png', imgSpectrum, Ord(QualityModeHigh));
inc(IntI);
end;
Also Zufall ist das keiner ansonsten wären alle oder zumindest eins davon falsch.
Könnte jetzt auch Hundert machen wäre das selbe.
Aber gut ich lasse deine Funktion drin.
gruss