Функция StretchDIBits и структура BITMAINFO и непонятный параметр RGBQUAD

Подскажите пожалуйста, вот в WinApi есть структура BITMAPINFO :https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapinfo

Эта структура используется, как один из входных параметров для функции отображения изображения в окне StretchDIBits :https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-stretchdibits

int StretchDIBits(
  [in] HDC              hdc,
  [in] int              xDest,
  [in] int              yDest,
  [in] int              DestWidth,
  [in] int              DestHeight,
  [in] int              xSrc,
  [in] int              ySrc,
  [in] int              SrcWidth,
  [in] int              SrcHeight,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             iUsage,
  [in] DWORD            rop
);


BITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD          bmiColors[1];
}

Вот чего я не могу понять: что за параметр RGBQUAD в структуре BITMAPINFO ? Из документации следует, что:

RGBQUAD - это Элементы массива, составляющие таблицу цветов.

Я не совсем могу понять, что это такое. Разве массив цветов, то есть сам буфер пикселей не подается отдельно в функцию рисования StretchDIBits - это параметр lpBits:

Указатель на биты изображения, которые хранятся в виде массива байтов.

Кто нибудь может пожалуйста подсказать, как все таки нужно заполнить параметр RGBQUAD структуры BITMAPINFO ?


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