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

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

Рисуем 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.


Наверх

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