Форум: "WinAPI";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Внизиспользоание BitBlt и CreateBitmap Найти похожие ветки
← →
Winnie! (2001-11-01 19:50) [0]2001 DOS->GDI->DrectDraw->OpenGL
На дворе 2001, а я все под ДОС графику программирую. Нужно переходить
под Win32. Решил разобраться сначала с GDI, прежде чем переходить к
DrectDraw,OpenGL.
1.Мне нужно завести в памяти буфер, куда я буду рисовать свое
изображение, и откуда я его буду копировать на экран(в окно).НО,
насколько я знаю:
Еcли создавать буфер функцией CreateDibBitmap, то он будет иметь
простую структуру(3 байта RGB на пиксел, кажется?), поэтому туда легко
рисовать своими алгоритмами. Но ведь BitBlt требует что бы битовые
карты в SrcDC и DestDc имели совместимый формат, а вдруг DIB не
совместим с DC моего окна?
Если же создать буфер функцией CreateComptibleBitmap, то непонятно,
как он устроен и как туда рисовать (своими алгоритмами)?
2.BitBlt копирует карту бит из одного DC в другой. Получается, что
после создания DC своего окна я должен создать другой DC (SrcDC). От
какого HWND я его спрашивается, буду создавать и почему его не будет
видно на экране(т.е. как так сделать)?
Как связаны связаны DC и BitMap?
3.Что нужно делать с полученным идентификатором БитМэпа после вызова
Create[...]Bitmap?
Можно какой-нибудь простейший примерчик с Create[...]Bitmap и BitBlt,
вроде банального вывода движущегося квадрата в окошко (сначала
попиксельно в буфер, затем на экран)
(на любом языке, желательно под TASM32)
эти вопросы уже читал:
Отображение на форме графики из памяти (Ewgeniy [Анкета] [Отправить письмо] 31.10.01 09:39)
что является источником для функции API BITBLT (MIFI [Отправить письмо] 28.10.01 15:17)
← →
Иван Шихалев (2001-11-01 20:09) [1]
MemDC := CreateComatibleDC (...);
Bitmap := CreateDIBitmap (...);
OldBitmap := SelectObject (MemDC, Bitmap);
...................
BitBlt (...)
...................
Bitamp := SelectObject (MemDC, OldBitmap);
DeleteDC (MemDC);
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c