функция HT_ComputeRGBGammaTable (winddi.h)
Функция HT_ComputeRGBGammaTable заставляет GDI вычислять интенсивность устройства красного, зеленого и синего цвета на основе гамма-чисел.
Синтаксис
LONG HT_ComputeRGBGammaTable(
[in] USHORT GammaTableEntries,
[in] USHORT GammaTableType,
[in] USHORT RedGamma,
[in] USHORT GreenGamma,
[in] USHORT BlueGamma,
[out] LPBYTE pGammaTable
);
Параметры
[in] GammaTableEntries
Указывает общее количество шагов в таблице для каждой интенсивности красного, зеленого и синего. Это значение должно быть больше 1 и меньше или равно 256 (то есть 2 <= GammaTableEntries< = 256). Например, значение 256 означает, что в гамма-таблице есть 256 красных, 256 зеленых и 256 синих записей.
[in] GammaTableType
Указывает организацию pGammaTable. Допустимые типы таблиц:
GammaTableType | Значение |
---|---|
0 | Значения красного, зеленого и синего гамма-таблицы чередуются друг с другом. Каждый гамма-шаг составляет 3 байта; По 1 байту для красного, зеленого и синего. |
1 | Красные, зеленые и синие таблицы упаковываются отдельно; т. е. за всей красной таблицей следует вся зеленая таблица, за которой следует вся синяя таблица. Отдельные записи имеют размер по 1 байт, что делает каждую подложенную в общей сложности байтами GammaTableEntries в байтах. |
[in] RedGamma
Задает гамма-значение красного цвета. Это значение USHORT интерпретируется как реальное число, четыре наименее значимые цифры которого находятся справа от (подразумеваемой) десятичной запятой. Например, гамма-значение 10000 представляет собой реальное число 1,0000, а 12345 — 1,2345. Минимально допустимое гамма-значение — 0,0000, а максимально допустимое значение — 6,5535.
[in] GreenGamma
Задает зеленое гамма-значение. Это значение USHORT интерпретируется как реальное число, четыре наименее значимые цифры которого находятся справа от (подразумеваемой) десятичной запятой. Например, гамма-значение 10000 представляет собой реальное число 1,0000, а 12345 — 1,2345. Минимально допустимое гамма-значение — 0,0000, а максимально допустимое значение — 6,5535.
[in] BlueGamma
Задает синее гамма-значение. Это значение USHORT интерпретируется как реальное число, четыре наименее значимые цифры которого находятся справа от (подразумеваемой) десятичной запятой. Например, гамма-значение 10000 представляет собой реальное число 1,0000, а 12345 — 1,2345. Минимально допустимое гамма-значение — 0,0000, а максимально допустимое значение — 6,5535.
[out] pGammaTable
Указатель на массив байтов, в котором будут записаны интенсивности красного, зеленого и синего гамма-таблицы. Возвращаемая таблица организована в соответствии с параметром GammaTableType .
Возвращаемое значение
Возвращаемое значение — это количество гамма-записей, записанных в pGammaTable; После успешного выполнения это значение равно GammaTableEntries. Если значение GammaTableEntries меньше 2 или больше 256, возвращаемое значение равно 0.
Красная, зеленая и синяя интенсивности, возвращаемые в pGammaTable , варьируются от 0 до 255.
Комментарии
В подпрограммах обслуживания полутонов GDI используется специальная палитра для выполнения полутонирования. Если устройство выбирает 8-разрядную палитру для каждого пикселя из пула 24-разрядных цветов устройств для поверхности 16-разрядного или 24-разрядного типа, GDI предполагает шаги красного, зеленого и синего цветов; каждая из них имеет одинаковую яркость.
GDI предоставляет эту службу, чтобы драйвер может запрашивать 8-битную полутоновую палитру на пиксель, используемую GDI, или вычислять гамма-коррекцию и выравнивание интенсивности цветов RGB для устройства.
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |