переделал,вместо гридрида делал с массивом
Код:
var
Form1: TForm1;
bp,bp1: TBitmap;
pic: array of array of tcolor;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
if (OpenPictureDialog1.Execute) and FileExists(OpenPictureDialog1.FileName)
then begin
form1.Image1.Picture.LoadFromFile(form1.OpenPictureDialog1.FileName);
bp:=TBitmap.Create;
bp.LoadFromFile(form1.OpenPictureDialog1.FileName);
end;
SetLength(pic,bp.Width,bp.Height);
for i:=1 to bp.Width do
for j:=1 to bp.Height do
pic[i-1,j-1]:=bp.Canvas.Pixels[i,j];
end;
procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
for i:=1 to bp.Width do
for j:=1 to bp.Height do
form1.Canvas.Pixels[i,j]:=pic[i-1,j-1] ;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
begin
bp1:=TBitmap.Create;
bp1.Width:=bp.Width;
bp1.Height:=bp.Height;
for i:=1 to bp.Width do
for j:=1 to bp.Height do
bp1.Canvas.Pixels[i,j]:=pic[i-1,j-1];
bp1.SaveToFile('ball_new.bmp');
end;
end.
все равно не сохранияет в файл хоть и указал размер битмапа
bp1.Width:=bp.Width;
bp1.Height:=bp.Height;