Метод ID2D1CommandSink1::SetPrimitiveBlend1
Задает новый режим наложения примитивов.
Синтаксис
HRESULT SetPrimitiveBlend1(
D2D1_PRIMITIVE_BLEND primitiveBlend
);
Параметры
-
primitiveBlend
-
Тип: D2D1_PRIMITIVE_BLEND
Примитивная смесь, которая будет применяться к последующим примитивам.
Возвращаемое значение
Тип: HRESULT
Если метод завершается успешно, он возвращает S_OK. В случае сбоя возвращается код ошибки HRESULT .
Комментарии
Режимы смешения
Для отрисовки с псевдонимом (за исключением режима 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 и более поздних версиях. |
D2D1_PRIMITIVE_BLEND_ADD | O = (S+ D) * C + D * (1 C) | O = S * C + D | Результирующее значение пикселей — это сумма значений исходного и целевого пикселей. Доступно в Windows 8 и более поздних версиях. |
Иллюстрация примитивных режимов наложения с различной непрозрачностью и фоном.
Примитивное сочетание будет применяться ко всем примитивам, нарисованным в контексте, если только это не переопределено параметром compositeMode в API DrawImage .
Примитивная смесь применяется к внутренней части любых примитивов, нарисованных в контексте. В случае DrawImage это будет подразумеваться прямоугольником изображения, смещением и преобразованием мира.
Если примитивная смесь отличается от D2D1_PRIMITIVE_BLEND_OVER то отрисовка ClearType будет отключена. Если приложение явно выполняет отрисовку ClearType в этих режимах, контекст рисования будет помещен в состояние ошибки. D2DERR_WRONG_STATE будет возвращено из EndDraw или Flush.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 8.1 [классические приложения | Приложения UWP] |
Минимальная версия сервера |
Windows Server 2012 R2 [классические приложения | Приложения UWP] |
Минимальный поддерживаемый телефон |
Windows Phone 8.1 [Windows Phone Приложения Silverlight 8.1 и среда выполнения Windows] |