Что такое пиксельный формат HBITMAP, когда я получаю растровую информацию с помощью GetBitmapBits? - PullRequest
0 голосов
/ 02 августа 2011

У меня есть HBITMAP hBitmap. Я использую GetBitmapBits (hbitmap, ширина * высота, буфер);

Какой формат пикселя записан в буфере?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Вы хотите использовать вместо этого GetDIBits.

Посмотрите, что MSDN говорит об этом: GetDIBits

Всегда спрашивать MSDN (при использовании Visual Studio)

0 голосов
/ 02 октября 2018

Может быть другим, это зависит от растрового изображения.Вот код, который нужно выяснить:

BITMAP bmp;
if( 0 == GetObject( hbitmap, sizeof( BITMAP ), &bmp ) ) // handle error

Из этой структуры BITMAP вы можете узнать формат пикселей и другие важные вещи, касающиеся расположения памяти.Например, вот формула для требуемого размера буфера: bmp.bmWidthBytes * bmp.bmHeight

...