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 及更高版本中可用。 |
要求
最低受支持的客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用] |
标头 | d2d1_1.h |