Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2011, 21:29   #1
Фобия
 
Регистрация: 11.06.2011
Сообщений: 4
По умолчанию paintBox

Скажите пожалуйста что должно быть в процедуре при сохранении и создании нового(paintBox)

procedure TForm1.N4Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
image1.Picture.LoadFromFile(OpenPic tureDialog1.FileName);
end;

procedure TForm1.N5Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then
image1.Picture.SaveToFile(SavePictu reDialog1.FileName);
end;


открыть/сохранить, но это действует только на image.( если заменить image painBox-ом... то выдает [Error] Unit21.pas(153): Undeclared identifier: 'Picture'
Фобия вне форума Ответить с цитированием
Старый 13.06.2011, 02:08   #2
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Правильно, нет свойства Picture у PaintBox.
Вывод изображения на PaintBox осуществляется только через канву Canvas, этим он и неудобен.
В вашем случае возможен следующий код
1. Вывод изображения в PaintBox
Код:
var  Bitmap: TBitmap;
...
   Bitmap := TBitmap.Create;
   try
      Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
      PaintBox1.Width := Bitmap.Width;
      PaintBox1.Height:= Bitmap.Height;
      PaintBox1.Canvas.Draw(0, 0, Bitmap);
    finally
      Bitmap.Free;
    end;
2.Сохранение PaintBox в файл
Код:
var
  Bitmap: TBitmap;
  Source: TRect;
  Dest: TRect;
...
  Bitmap := TBitmap.Create;
  try
    Bitmap.Width := PaintBox1.Width;
    Bitmap.Height:= PaintBox1.Height;
    Dest := Rect(0, 0, Bitmap.Width, Bitmap.Height);
    Source := Rect(0, 0, PaintBox1.Width, PaintBox1.Height);
    Bitmap.Canvas.CopyRect(Dest, PaintBox1.Canvas, Source);
    Bitmap.SaveToFile(SavePictureDialog1.FileName);
  finally
    Bitmap.Free;
  end;
Только учтите, изображения должны быть BMP
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PaintBox Fintroll Windows Forms 1 11.04.2011 01:01
PaintBox _-Re@l-_ Общие вопросы Delphi 11 23.06.2010 12:54
текст в PaintBox krikaved Общие вопросы Delphi 5 06.05.2010 19:05
Paintbox lacost Мультимедиа в Delphi 3 14.01.2009 09:53
paintbox steck Общие вопросы Delphi 5 28.10.2007 16:15