Sauberer wäre es, wenn du auf PByteArray verzichtest und PByte nutzt:
Delphi-Quellcode:
procedure MeineBildverarbeitung(..........);
type
PScanline: ^TScanline;
TScaneline: array[0..0] of byte; // JEDES statisch definierte Array erfüllt prinzipiell die Anforderung
var
dst : PByte;
i, j: Integer;
xmax : Integer;
ymax : Integer;
begin
aBmp.pixelformat := pf24bit;
for j := ystart to ymax do
begin
dst := aBmp.ScanLine[ j ];
inc(dst, xstart*3);
for i := 0 to xmax-xstart do
begin
BValueArray[i, j - ystart ] := dst^; inc(dst);
GValueArray[i, j - ystart ] := dst^; inc(dst);
RvalueArray[i, j - ystart ] := dst^; inc(dst);