Код:
CONST
PixelCountMax = 32768;
TYPE
pRGBArray = ^TRGBArray;
TRGBArray = ARRAY[0..PixelCountMax-1] OF TRGBTriple;
...
var
Form1: TForm1;
OriginalBitmap:TBitmap;
ProcessedBitmap:TBitmap;
i,j:integer;
RowOriginal:pRGBArray;
RowProcessed:pRGBArray;
Код:
procedure CreateBMP;
begin
if OriginalBitmap.PixelFormat <> pf24bit then
begin
ShowMessage('Изображение должно быть 24-х битным');
Exit;
end;
for j:=OriginalBitmap.Height-1 downto 0 do
begin
RowOriginal:=pRGBArray(OriginalBitmap.Scanline[j]);
RowProcessed:=pRGBArray(ProcessedBitmap.Scanline[j]);
for i:=OriginalBitmap.Width-1 downto 0 do
begin
RowProcessed[i].rgbtRed:=RowOriginal[i].rgbtRed;
RowProcessed[i].rgbtGreen:=RowOriginal[i].rgbtGreen;
RowProcessed[i].rgbtBlue:=RowOriginal[i].rgbtBlue;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
OriginalBitmap.LoadFromFile('a.bmp');
createbmp;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OriginalBitmap:=TBitmap.Create;
end;
изображение a.bmp 800x600, программа выдает ошибку, подскажите