Метод ID2D1CommandSink1::SetPrimitiveBlend1 (d2d1_2.h)
Задает новый режим наложения примитивов.
Синтаксис
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 |
Header | d2d1_2.h |