Привет, я использую loadImage для загрузки 24-битного файла bmp, а затем пытаюсь получить информацию о bmp
hBitmap = (HBITMAP)LoadImage(NULL, "logo.bmp", IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_DEFAULTSIZE)
GetObject( hBitmap, sizeof(BITMAP), &bm );
Когда я делаю ту же операцию с настройкой цветного дисплея Windows 32 hi color, я получаю следующее значение bmBitsPixel = 32, но если я устанавливаю цветной дисплей Windows на 16, я получаю bmBitsPixel = 16
Может ли кто-нибудь объяснить, что это значит. Если бы я использовал следующую формулу для расчета размера bmp, то размер bmp зависит от настройки цвета окна.
размер = bmWidth * bmHeight* bmBitsPixel/8
Спасибо и с уважением
<gdiplus.h>
для манипуляций с растровыми изображениями. Хотя требуется С++. Или просто прочитайте BITMAPFILEHEADER + BITMAINFO из файла. - person Hans Passant   schedule 26.10.2010