Поделиться через


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