Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.007 c
14-22405
Kozhanov
2001-11-12 11:53
2002.01.08
English puzzle


4-22465
AKV
2001-11-02 10:44
2002.01.08
как определить handle окна над которым находится мышь


1-22188
Art
2001-12-14 13:09
2002.01.08
Как считать большой файл???


3-21901
victor
2001-12-06 09:46
2002.01.08
проблема с удалением записей


4-22501
Art
2001-11-02 08:30
2002.01.08
А можно ли запретить использование определенных Api другим приложениям?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский