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


Перечисление D2D1_PRIMITIVE_BLEND (d2d1_1.h)

Используется для указания режима геометрического наложения для всех примитивов Direct2D.

Синтаксис

typedef enum D2D1_PRIMITIVE_BLEND {
  D2D1_PRIMITIVE_BLEND_SOURCE_OVER = 0,
  D2D1_PRIMITIVE_BLEND_COPY = 1,
  D2D1_PRIMITIVE_BLEND_MIN = 2,
  D2D1_PRIMITIVE_BLEND_ADD = 3,
  D2D1_PRIMITIVE_BLEND_MAX = 4,
  D2D1_PRIMITIVE_BLEND_FORCE_DWORD = 0xffffffff
} ;

Константы

 
D2D1_PRIMITIVE_BLEND_SOURCE_OVER
Значение: 0
Стандартный режим наложения источника по назначению.
D2D1_PRIMITIVE_BLEND_COPY
Значение: 1
Источник копируется в место назначения; конечные пиксели игнорируются.
D2D1_PRIMITIVE_BLEND_MIN
Значение: 2
Полученные значения пикселей используют минимальное значение исходного и целевого пикселей. Доступно в Windows 8 и более поздних версиях.
D2D1_PRIMITIVE_BLEND_ADD
Значение: 3
Результирующее значение пикселей — это сумма значений исходного и целевого пикселей. Доступно в Windows 8 и более поздних версиях.
D2D1_PRIMITIVE_BLEND_MAX
Значение: 4
Полученные значения пикселей используют максимальное значение исходного и целевого пикселей.
Доступно в Windows 10 и более поздних версиях (устанавливается с помощью ID21CommandSink4::SetPrimitiveBlend2).
D2D1_PRIMITIVE_BLEND_FORCE_DWORD
Значение: 0xffffffff

Комментарии

Режимы смешения

Для отрисовки с псевдонимом (за исключением режима MIN) выходное значение O вычисляется путем линейной интерполяции смешивания значений (S, D) со значением целевого пикселя в зависимости от того, насколько примитив охватывает целевой пиксель.

В таблице ниже показаны режимы примитивного наложения для смешения с псевдонимами и сглаживания. В уравнениях, перечисленных в таблице, используются следующие элементы:

  • O = выходные данные
  • S = источник
  • SA = исходный альфа-канал
  • D = назначение
  • DA = целевой альфа-канал
  • C = покрытие пикселей
Режим наложения примитивов Наложение псевдонимов Сглаживание Описание
D2D1_PRIMITIVE_BLEND_SOURCE_OVER O = (S + (1 – SA) * D) * C + D * (1 – C) O = S * C + D *(1 – SA *C) Стандартный режим наложения источника по назначению.
D2D1_PRIMITIVE_BLEND_COPY O = S * C + D * (1 –C) O = S * C + D * (1 –C) Источник копируется в место назначения; конечные пиксели игнорируются.
D2D1_PRIMITIVE_BLEND_MIN O = Min(S + 1-SA, D) O = Min(S * C + 1 – SA *C, D) Полученные значения пикселей используют минимальное значение исходного и целевого пикселей. Доступно в Windows 8.1 и более поздних версиях.
D2D1_PRIMITIVE_BLEND_ADD O = (S + D) * C + D * (1 – C) O = S * C + D Результирующее значение пикселей — это сумма значений исходного и целевого пикселей. Доступно в Windows 8.1 и более поздних версиях.
  Иллюстрация примитивных режимов наложения Direct2D с различной непрозрачностью и фоном. Иллюстрация примитивных режимов наложения с различной непрозрачностью и фоном.

Требования

   
Минимальная версия клиента Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Верхняя часть d2d1_1.h

См. также раздел

ID2D1DeviceContext::GetPrimitiveBlend

ID2D1DeviceContext::SetPrimitiveBlend