Функция SHGetInverseCMAP (shlwapi.h)
[Эта функция доступна в Windows XP и Windows Server 2003. Он может быть изменен или недоступен в последующих версиях Windows.]
Извлекает обратное сопоставление таблицы цветов для палитры полутонов.
Синтаксис
LWSTDAPI SHGetInverseCMAP(
[out] BYTE *pbMap,
[in] ULONG cbMap
);
Параметры
[out] pbMap
Тип: BYTE*
Указатель на массив BYTE, получающий обратное сопоставление таблицы цветов, или указатель на LPBYTE , который получает указатель на кэшированную копию сопоставления таблицы с обратным цветом в зависимости от значения параметра cbMap .
[in] cbMap
Тип: ULONG
Размер буфера, на который указывает pbMap, который также определяет его содержимое. Распознаются два значения.
(sizeof(BYTE*))
Буфер, на который указывает pbMap, получает указатель на кэшированную копию таблицы обратной цветовой карты.
(32768)
Буфер, на который указывает pbMap, получает копию таблицы обратной цветовой карты. Размер буфера должен составлять ровно 32 768 байт.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Таблица обратного сопоставления цветов содержит 32 768 байт. Он содержит индексы цветов в полутоновой палитре. Каждый индекс хранится в позиции в буфере, соответствующей определенному значению RGB, выраженному в формате 555. Эти пары позволяют найти цвет в полутоновой палитре, который является близким приближением к исходному цвету.
Например, метод определения цвета в полутоновой палитре, который является приближением близкого значения для цвета #306040, выглядит следующим образом:
- Разложите цвет на красный, зеленый и синий компоненты. В этом случае красный компонент 0x30, зеленый — 0x60, а синий — 0x40.
- Повторное выделение цвета в формате 555. Здесь показана формула для уменьшения 24-разрядного цвета RGB в формат 555.
((red / 8) << 10) + ((blue / 8) << 5) + (green / 8)
В этом примере значение в формате 555 равно ((0x30 / 8) << 10) + ((0x60 / 8) << 5) + (0x40 / 8) = 6536.
- Значение индекса, хранящееся в позиции 6536 в таблице карты с обратной цветовой картой, является индексом цвета в палитре полутонов, который является разумным приближением к цвету No 306040.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 5.0 или более поздняя) |