![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нарисованную картинку - в файл [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