![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисуем Bitmap [Win2k]
AlexandrRya © (2003-01-19 23:37:00)Кто знает как нарисовать на форме битмап, загруженный с помощью LoadBitmap (т.е. есть только его HBITMAP), используя только WINAPI. Конечно Handle окна известен!
Evgeny (2003-01-21 11:13:00) [1]Не забывайте удалять DC, иначе при постоянном динамическом создании очень быстро исчерпываются GDI ресурсы. И еще, кто инициализировал переменную bi?
Ich Hasse (2003-01-20 22:12:00) [2]2 CjCrazy
А BitBlt тоже можно... так что его тоже используй.
А еще есть TransparentBlt (правда она появилась только в D6)
CjCrazy (2003-01-20 15:40:00) [3]ух ты, даже похоже немнога на то, что было у меня. правда для прорисовки я использовал функцию bitblt
SammIk (2003-01-20 10:08:00) [4]Примерно так :
var bmp:hbitmap;
bi:tagbitmapinfo;
f:file;
begin
bmp:=loadimage(0,pchar(param),IMAGE_BITMAP,0,0,LR_DEFAULTSIZE or LR_LOADFROMFILE);
deskdc:=getwindowdc(getdesktopwindow);
dc:=createcompatibledc(deskdc);
selectobject(dc,bmp);
stretchblt(deskdc,0,0,SCRX,SCRY,dc,0,0,bi.bmiHeader.biWidth,bi.bmiHeader.biHeight,SrcCopy);
deleteobject(bmp);
CjCrazy (2003-01-20 10:02:00) [5]есть такая функция GetDC
с помощью её и надо это всё проворачивать (то есть получать handle окна и hbitmap).
(пусть ответ покажется глупым, но исходники лежат далековато. как найду опубликую)
MBo (2003-01-20 09:09:00) [6]А проще, наверно, StretchDIBits
MBo (2003-01-20 06:25:00) [7]Выбрать HBITMAP во вспомог. контекст и BitBlt.