Показать сообщение отдельно
  #1  
Старый 02.06.2009, 04:57
Аватар для vah-smile
vah-smile vah-smile вне форума
Новичок
 
Регистрация: 16.02.2009
Адрес: Украина
Сообщения: 67
Репутация: -53
Счастье PaintBox (Открыть и Сохранить)

Доброе время суток!
Итак, у меня на форме расположены:
  • 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;
Но результат нечто искаженный (смотри вложенный файл)
Изображения
Тип файла: jpg Untitled-1.jpg (24.8 Кбайт, 22 просмотров)
Ответить с цитированием