Вниз
Скачать: CL | DM;

Как клонировать vcl-объект?   Найти похожие ветки 

 
Arks ©   (2007-08-20 14:59) [0]

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


 
DVM ©   (2007-08-20 15:06) [1]


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

BitBlt или Draw()


 
DVM ©   (2007-08-20 15:10) [2]

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


 
Arks ©   (2007-08-20 15:13) [3]

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


 
DVM ©   (2007-08-20 15:15) [4]


> Draw у TBitmap нет

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


 
Leonid Troyanovsky ©   (2007-08-20 15:17) [5]


> 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) [6]

Assign


 
DVM ©   (2007-08-20 15:18) [7]

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;


 
Arks ©   (2007-08-20 15:30) [8]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
15-1187722658
matt
2007-08-21 22:57
2007.09.16
Книжку ищу.


1-1184035040
hyper_omsk
2007-07-10 06:37
2007.09.16
Привелигированный доступ к outlook как?


2-1187691079
Daedr
2007-08-21 14:11
2007.09.16
профессионалам отдельная просьба - быть снисходительными.


15-1185599882
IMHO
2007-07-28 09:18
2007.09.16
Шведский стол


2-1187685960
AZIZE
2007-08-21 12:46
2007.09.16
BorderIcons




   Наверх