Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нарисованную картинку - в файл [D5, XP]


Ray ©   (2006-05-28 17:08:00) 

Есть форма, на ней панель, на панели несколько Image'й, которые рисуют отдельные части картинки. Как сохранить в .bmp файл ВСЁ, что получилось? Всю картинку?
Проблема в том, что при рисовании эта форма невидима.


wsih   (2006-05-29 13:36:00) [1]

http://www.bib.com.ua/conf/topic_12_926.html


Ray   (2006-05-29 11:04:00) [2]

А как этот скриншот сделать?
Напоминаю, что форма невидима...


wsih   (2006-05-28 23:49:00) [3]

Сделать скриншот формыи из него вырезать прямоугольник размерами Image3 и сохранить его по принципу [2]


Ray   (2006-05-28 20:18:00) [4]

Еще одна проблема в том, что координаты этих Image'й на экране разные,
а надо сохранять всю картинку с сохранением положения рисунков.
Вот как это выглядит: http://r7.org.ru/files/images.jpg

На выходе нужно получить картинку, размером и цветом Image3,
чтобы на ней были надписи из Image1 и Image2. На разных экранах положение Image1 и Image2 тоже различное.

Как тут быть?


unknown   (2006-05-28 17:24:00) [5]

Как вариант - взять Graphics.TBitMap, задать ему соответствующие размеры,
в него скопировать данные с > несколько Image'йи сохранить.
Например :
(на форме 2 TImage, компонуем их в одну картинку)
procedure TForm1.Button1Click(Sender: TObject);
var
 Bmp: Graphics.TBitmap;
 R:   TRect;
begin
 Bmp := Graphics.TBitmap.Create;
 Bmp.Width := Image1.Width + Image2.Width;
 Bmp.Height := Max(Image1.Height, Image2.Height);
 R   := Rect(0, 0, Image1.Width, Image2.Height);
 Bmp.Canvas.CopyRect(R, Image1.Canvas, R);
 R := Rect(Image1.Width, 0, Image2.Width + Image1.Width, Image2.Height);
 Bmp.Canvas.CopyRect(R, Image2.Canvas, Rect(0, 0, Image2.Width, Image2.Height));
 Bmp.SaveToFile('c:\bmp.bmp');
 Bmp.Free;
end;


TUser   (2006-05-28 17:17:00) [6]

TBitMap

потом вычислить размер целой картинки

потом CopyRect


Наверх

Титульная страница Поиск, карта сайта Написать письмо