· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Загрузка картинки

Посл.отвђт Сообщенiе


Дата: Авг 17, 2004 06:50:48

Здравствуйте!
Кто работал с картинками в винде, подскажите как это нужно сделать.

Короче есть картинка например buttons.bmp, в ней есть куча изображений картинок. Как мне из этой картинки, вырезать кусочек (с изображением нужной мне кнопки), создать device context в памяти (memory DC), в эту память перенести именно этот кусок с кнопкой для последующего блиттинга (BitBlt) на окно.

Если можно то с куском кода, буду очень благодарен.


Дата: Авг 17, 2004 07:53:51

Сначала ImageList_Create потом LoadBitmap
и ImageList_Add...


Дата: Авг 17, 2004 08:32:28 · Поправил: EvgA

Тогда сразу еше два вопроса , можно ли делать так:
1---------------------------
invoke LoadImage, hinst, offset patch, IMAGE_BITMAP, 0,0,LR_LOADFROMFILE
mov hBitMap, eax
.if hBitMap != NULL
invoke CreateCompatibleDC, hdcScreen
mov hMemDC, eax
invoke SelectObject, hMemDC, hBitMap
invoke DeleteObject, hBitMap
.endif
я загрузил картинку, создал контекст, и тут вызвал SelectObject, что при этом происходит?, можно ли потом удалять (invoke DeleteObject, hBitMap) картинку, чтоб в памяти не валялась, и использовать после этого BitBlt c параметром HDC hdcSrc = hMemDC. Другими словами после вызова "invoke SelectObject, hMemDC, hBitMap" не создается ли в памяти копия картинки, которая и используется для блиттинга.

2------------------------------
Есть две функции BitBlt и ImageList_Draw
BitBlt быстрее работает или также?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062