Что хранит BITMAPINFOHEADER.biSizeImage?

Смотрел на сайте описание формата BMP, дошёл до поля biSizeImage.

На сайте написано:

biSizeImage обозначает размер картинки в байтах. Если изображение несжато (то есть предыдущее поле установлено в BI_RGB), то здесь должен быть записан ноль.

Но в самом изображении там записан не 0:

размер изображения

Там записан размер самой картинки (без заголовков), и он равен w * h * 3 байт. Для примера я взял картинку 100x100 пикселей и получил 30 000 байт (байты переставлены местами, поэтому 00 00 75 3016cc = 30 00010cc)


И отсюда вопрос - что там всё таки должно быть записано?

P.S для примера взял картинку BMP с глубиной цвета 24.


Ответы (1 шт):

Автор решения: insolor

Когда смотрите перевод документации по структурам WinAPI, сверяйтесь с сайтом Microsoft: BITMAPINFOHEADER structure (wingdi.h)

biSizeImage - Specifies the size, in bytes, of the image. This can be set to 0 for uncompressed RGB bitmaps.

"Can be set to 0" - значит может быть установлен в 0, но не обязательно будет установлен.

→ Ссылка