Вылетает с AV на помеченной строке:
function CreateBmp32FromPng(Png: TPngObject): TBitmap;
type
PRGBQuadArray = ^TRGBQuadArray;
TRGBQuadArray = array [0..1] of TRGBQuad;
PRGBTripleArray = ^TRGBTripleArray;
TRGBTripleArray = array [0..1] of TRGBTriple;
var
X, Y: LongInt;
Line: PRGBQuadArray;
LineRGB: PRGBTripleArray;
LineAlpha: PByteArray;
begin
Result := TBitmap.Create;
Result.Width := Png.Width;
Result.Height := Png.Height;
Result.PixelFormat:= pf32bit;
For Y:= 0 to (Result.Height - 1) do
begin
Line := Result.Scanline[Y];
LineRGB := Png.Scanline[Y];
LineAlpha:= Png.AlphaScanline[y];
For X:= 0 to (Result.Width - 1) do
begin
Line^[X].rgbReserved:= LineAlpha^[X];
Line^[X].rgbRed := LineRGB^[X].rgbtRed;
Line^[X].rgbGreen := LineRGB^[X].rgbtGreen;
Line^[X].rgbBlue := LineRGB^[X].rgbtBlue;
end;
end;
end;
Некоторые PNG нормально загружает, некоторые выдают эту ошибку.
Что не правильно?