Текущий архив: 2003.05.15;
Скачать: CL | DM;
Вниз
Hbitmap Найти похожие ветки
← →
tamerlan311 © (2002-08-10 21:35) [0]как загрузить в Pbitmap изображение если известен его шендл (Hbitmap)
← →
Gandalf (2002-08-11 11:34) [1]Вроде есть AssignHandle.
← →
tamerlan311 © (2002-08-11 13:59) [2]спасибо большое!
← →
tamerlan311 © (2002-08-11 22:26) [3]Я не нашол свойство AssignHandle у Pbitmap !!
← →
Gandalf (2002-08-12 09:08) [4]>спасибо большое!
>Я не нашол свойство AssignHandle у Pbitmap !!
Потому что его нет. А зачем благодарил,я же сказал "вроде", значит неуверен. Ну Win полетел - а так не помню.
Хммм. Создай новый битмап (PBitmap) и на него нарисуй HBitmap.
Это конечно не совсем то, но всеже.
ЗЫ: Попробуй просто
Mybmp.Handle:=HMyBitmap. (он есть)
"Вроде" должно помочь.
← →
tamerlan311 © (2002-08-12 22:42) [5]наконец-то я разобрался!
Mybmp.Handle:=HMyBitmap непойдет т.к. при уничтожении обекта которому принадлежит HMyBitmap , КАРТИНКА БУДЕТ ПОТЕРЯНА!
значит нужно создать новый HBitmap скопировать туда интересующее нас изображение и присвоить Mybmp.Handle !
Вот процедура копирования:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function Bitmap_copy(origin: Hbitmap): Hbitmap;
var
size:TSize;
dc,dc1:HDC;
res,res1:THandle;
begin
Result:=0;
size:=Bitmap_size(origin);
dc:=CreateCompatibleDC(0);
res:= SelectObject(dc, origin);
if res=0 then begin ShowMessage("Ошибка при копировании битмапа!");Exit;end;
dc1:=CreateCompatibleDC(dc);
Result:=CreateCompatibleBitmap(dc,size.cx,size.cy);
res1:=SelectObject(dc1,Result);
BitBlt( dc1,0,0,size.cx,size.cy,dc,0,0,SrcCopy);
SelectObject(dc,res);
DeleteDC(dc);
SelectObject(dc1,res1);
DeleteDC(dc1);
end;
_________________________________________________________________
и теперь Mybmp.Handle:=Bitmap_copy(HMyBitmap);
надеюсь это замечание кому-нибудь пригодиться!
Страницы: 1 вся ветка
Текущий архив: 2003.05.15;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.02 c