Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.08;
Скачать: CL | DM;

Вниз

использоание 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 вся ветка

Текущий архив: 2002.01.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-21946
set
2001-12-05 00:08
2002.01.08
Ещё раз работа с базами


1-22104
DerZky
2001-12-18 19:54
2002.01.08
Как сравнить даты.


6-22307
Leviathan
2001-10-12 12:54
2002.01.08
NMFTP - отстой!!!!


3-21928
kaif
2001-12-04 17:42
2002.01.08
arithmetic overflow or string truncation при Restore


14-22333
Nikolay
2001-11-03 20:12
2002.01.08
$$$$$$$$$$$$$$$$$$$$$$$$$$