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 = 源 Alpha
  • D = 目标
  • DA = Destination Alpha
  • 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 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
标头 d2d1_1.h

另请参阅

ID2D1DeviceContext::GetPrimitiveBlend

ID2D1DeviceContext::SetPrimitiveBlend