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

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

Как клонировать vcl-объект? [D7, XP]


Arks ©   (2007-08-20 14:59:00) 

Возможно глупый вопрос, но я давно уже не работал в Делфи. Не могу вспомнить, как клонировать объект, т.е. скопировать его содержимое, а не ссылку на него. В частности мне требуется сделать копию битмапа из имэджа:
bmp := Image1.Picture.Bitmap; // так копируется только ссылка, а как сам объект?


Arks   (2007-08-20 15:30:00) [1]

Спасибо за помощь.


DVM   (2007-08-20 15:18:00) [2]

var
 Bmp: TBitmap;
begin
 Bmp := TBitmap.Create;
 Bmp.Width := Image1.Picture.Bitmap.Width;
 Bmp.Height := Image1.Picture.Bitmap.Height;
 Bmp.PixelFormat := Image1.Picture.Bitmap.PixelFormat;
 Bmp.Canvas.Draw(0, 0, Image1.Picture.Bitmap);

end;


Leonid Troyanovsky   (2007-08-20 15:17:00) [3]


> Arks ©   (20.08.07 15:13) [3]

> Можете написать код?

VCL Reference
Assign, Dormant, FreeImage, Monochrome, ReleaseHandle, LoadFromFile example

--
Regards, LVT.


Anatoly Podgoretsky   (2007-08-20 15:17:00) [4]

Assign


DVM   (2007-08-20 15:15:00) [5]


> Draw у TBitmap нет

у канвы его есть зато.


Arks   (2007-08-20 15:13:00) [6]

> BitBlt или Draw()
? Это ведь api функция и вообще не знаю какая (Draw у TBitmap нет)...
Можете написать код?
Есть bmp :TBitmap и Image1 : TImage.
Скопировать битмап из image1 в bmp.


DVM   (2007-08-20 15:10:00) [7]

Это скопирует изображение, сам объект Bitmap надо предварительно создать и выставить у него размеры и глубину цвета перед копированием.


DVM   (2007-08-20 15:06:00) [8]


> так копируется только ссылка, а как сам объект?

BitBlt или Draw()


Наверх

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