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


Перечисление D2D1_GAMMA (d2d1.h)

Указывает, какая гамма используется для интерполяции.

Синтаксис

typedef enum D2D1_GAMMA {
  D2D1_GAMMA_2_2 = 0,
  D2D1_GAMMA_1_0 = 1,
  D2D1_GAMMA_FORCE_DWORD = 0xffffffff
} ;

Константы

 
D2D1_GAMMA_2_2
Значение: 0
Интерполяция выполняется в стандартной гамма-гамме RGB (sRGB).
D2D1_GAMMA_1_0
Значение: 1
Интерполяция выполняется в линейно-гамма-цветовом пространстве.
D2D1_GAMMA_FORCE_DWORD
Значение: 0xffffffff

Комментарии

Интерполяция в линейном гамма-пространстве (D2D1_GAMMA_1_0) позволяет избежать изменений в воспринимаемой яркости, вызванных эффектом гамма-коррекции в пространствах, где гамма не равен 1,0, например цветовое пространство sRGB по умолчанию, где гамма — 2,2. В качестве примера различий между этими двумя режимами смешивания рассмотрим следующий рисунок, на котором показаны два градиента, каждый из которых смешивается от красного к синему и зеленому:

Иллюстрация двух градиентов от красного к синему к зеленому, смешиваемых с использованием гамма-гамма sRGB и линейно-гамма

Первый градиент линейно интерполируется в пространстве целевого объекта отрисовки (в данном случае sRGB), и можно увидеть темные полосы между каждым цветом. Второй градиент использует гамма-корректную линейную интерполяцию и, таким образом, не демонстрирует одинаковые вариации яркости.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Верхняя часть d2d1.h