Функция 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 ?