Re[3]: GetDIBits
От: Alex Fedotov США  
Дата: 10.02.02 20:02
Оценка:
Здравствуйте Аноним, Вы писали:

А>Ага, идея понятна, но тут возникла проблема с нижеприведённой функцией:


AF>>PVOID pBits;
AF>>HBITMAP hBitmap = CreateDIBSection(MainDC, pbmi, DIB_RGB_COLORS, &pBits, NULL, 0);
AF>>if (hBitmap == NULL)
AF>>    ...;


А>Как раз дело в том, что она возвращает NULL.

А>С ошибкой: Неправильно задан параметр.

А>Возможно нельзя эту функцию использовать для сжатой BMP.


Нельзя. Тогда надо переопределить параметр сжатия в структуре BITMAPINFO, передаваемой на вход этой функции:

pbmi->bmiHeader.biWidth  = Data.X2 - Data.X1;
pbmi->bmiHeader.biHeight = Data.Y2 - Data.Y1;
pbmi->bmiCompression = BI_RGB;
pbmi->bmiHeader.biSizeImage = 0;


Если в итоге надо получить опять же сжатое изображение, то нужно будет вызвать GetDIBits, она умеет генерировать RLE.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.