DPI 补偿效果
使用 DPI 补偿效果自动调整输入位图以匹配上下文的 DPI。 这对于以屏幕不同的 DPI 创建或加载位图的情况非常有用。
此效果的 CLSID 是CLSID_D2D1DpiCompensation。
效果属性
显示名称和索引枚举 | 说明 |
---|---|
InterpolationMode D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE |
效果用于缩放图像的内插模式。 类型为D2D1_DPICOMPENSATION_INTERPOLATION_MODE。 默认值为 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR 。 |
BorderMode D2D1_DPICOMPENSATION_PROP_BORDER_MODE |
用于计算图像边框(软或硬)的模式。 有关详细信息,请参阅 边框模式 。 类型为D2D1_BORDER_MODE。 默认值为 D2D1_BORDER_MODE_SOFT。 |
InputDpi D2D1_DPICOMPENSATION_PROP_INPUT_DPI |
输入图像的 DPI。 类型为 FLOAT。 默认值为 96.0f。 |
内插模式
枚举 | 描述 |
---|---|
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR | 对最近的单个点进行采样并使用它。 此模式使用的处理时间较少,但输出质量最低的图像。 |
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR | 使用四点样本和线性内插。 此模式使用的处理时间比最近的邻居模式多,但输出更高质量的图像。 |
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC | 使用 16 个示例立方内核进行内插。 此模式使用的处理时间最多,但会输出更高质量的图像。 |
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR | 在单个像素内使用 4 个线性样本,以便进行良好的边缘抗锯齿。 此模式适用于在像素较少的图像上按少量纵向缩减。 |
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC | 使用各向异性筛选根据位图的转换形状对图案进行采样。 |
D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC | 如果转换矩阵中涉及降级,则使用可变大小的高质量立方内核对图像执行预缩减。 然后将三次内插模式用于最终输出。 |
注意
如果未选择模式,则效果默认为D2D1_DPICOMPENSTION_INTERPOLATION_MODE_LINEAR。
边框模式
名称 | 说明 |
---|---|
D2D1_BORDER_MODE_SOFT | 输入边界外的像素由镜像边框效果生成。 |
D2D1_BORDER_MODE_HARD | 输入边界外部的像素为透明黑色。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |Windows 应用商店应用] |
最低受支持的服务器 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |Windows 应用商店应用] |
标头 | d2d1effects.h |
库 | d2d1.lib、dxguid.lib |