LoadImage (WinApi)

 
RU Slowspeed #10.04.2001 13:22
+
-
edit
 

Slowspeed

новичок
Господа, никто не знает - можно-ли добраться до значений пикселов картинки, загруженой при помощи LoadImage с флагом LR_CREATEDIBSECTION?
 
BG Реконструктор #10.04.2001 15:13
+
-
edit
 
Я не господ, а товарищ, но все рaвно помогу
Предположительно, ты загружаеш битмап, а не икону или курсор.
Значит так: результат действия LoadImage - HANDLE, или точнее HBITMAP. Этот HBITMAP потом надо давать функции GetObject. Вот примерный код:
HBITMAP hBmp;
BITMAP  bmp

hBmp = LoadImage(......);
if (hBmp != NULL)
{
  GetObject(hBmp, sizeof(bmp), (LPVOID)&bmp);
}

[/html_font]

А вот и структура BITMAP:

[html_font size=+0]
typedef struct tagBITMAP {
  LONG   bmType; 
  LONG   bmWidth; 
  LONG   bmHeight; 
  LONG   bmWidthBytes; 
  WORD   bmPlanes; 
  WORD   bmBitsPixel; 
  LPVOID bmBits; 
} BITMAP, *PBITMAP;


Член, который тебя интересует - bmBits. Именно он является указателем к массиву точек.


Полезная информация:
Если пикселы в битмапе имеют 24-битное кодирование, то каждая строка изображения округляется так, чтоб колличество байтов в строке всегда было кратным 4 (32 бита). Например, если у тебя изображение 30х30 пиксела, то массив bmBits содержит не 90x30 байтов а 92х30, последние 2 байта в строке не используются, и заполняются, кажется, нулями

Успехов тебе!

[Edited by varban, 10-04-2001]
 
RU Slowspeed #10.04.2001 15:25
+
-
edit
 

Slowspeed

новичок
Спасибо! Заработало!
 
RU Slowspeed #10.04.2001 15:56
+
-
edit
 

Slowspeed

новичок
Ты можешь не пить конфеты, конфеты все равно будут пить тебя!
 

MiG31
Реконструктор

опытный

Пожалуйста.
Цветы и конфеты не пью.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru