Показать сообщение отдельно
  #9  
Старый 20.03.2012, 21:56
player891 player891 вне форума
Прохожий
 
Регистрация: 15.03.2012
Сообщения: 23
Репутация: 10
По умолчанию

переделал,вместо гридрида делал с массивом
Код:
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;
Ответить с цитированием