Доброе время суток!
Итак, у меня на форме расположены:
- PaintBox1;
- Button1 - Открывает (загружает) фыйл (*.bmp) в PaintBox1;
- Button2 - Сохраняет рисунок из PaintBox1 у файл.
Как реализовать открытие и сохранение файла в (из) PaintBox?
У меня написано следующее:
Код:
// Открытие файла
procedure TForm1.N2Click(Sender: TObject);
var bmp:TBitmap;
begin
OpenDialog1.Title := 'Відкрити файл...';
if (OpenDialog1.Execute) then
begin
bmp:=TBitmap.create;
bmp.loadfromfile('D:\1.bmp');
paintbox1.width:=bmp.width;
paintbox1.height:=bmp.height;
paintbox1.canvas.draw(0,0,bmp);
bmp.Free;
end;
end;
// Сохранение в файла
procedure TForm1.N3Click(Sender: TObject);
var bmp: TBitmap;
begin
SaveDialog1.Title:=' Зберегти файл як...'; // заголовок вікна діалогу збереження файлу
if SaveDialog1.Execute then
begin
bmp := TBitmap.Create;
try
bmp.Width := PaintBox1.Width;
bmp.Height := PaintBox1.Height;
bmp.Canvas.CopyRect(Rect(0, 0, bmp.Width, bmp.Height), Canvas, rect (0,0,PaintBox1.Width, PaintBox1.Height));
bmp.SaveToFile(SaveDialog1.Filename);
finally
bmp.Free;
end;
end;
end;
Но результат нечто искаженный (смотри вложенный файл)