YCbCr 效果

将平面和色度子采样 JPEG YCbCr 数据转换为 RGB。 此效果假定 YCbCr 数据的格式符合 JPEG 标准。 输入的数据可以从 IWICPlanarBitmapSourceTransform 获取。 YCbCr 效果需要两个输入:第一个必须是包含 luma 数据的DXGI_FORMAT_R8位图,第二个必须是包含子采样 chroma 数据的DXGI_FORMAT_R8G8位图。 有关使用此效果的详细信息,请参阅 JPEG YCbCr 支持

此效果的 CLSID 是CLSID_D2D1YCbCr。

效果属性

显示名称和索引枚举 说明
ChromaSubsampling
D2D1_YCBCR_CHROMA_SUBSAMPLING
指定输入色度图像的色度子采样。
类型为D2D1_YCBCR_CHROMA_SUBSAMPLING。
默认值为 D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO。
TransformMatrix
D2D1_YCBCR_PROP_TRANSFORM_MATRIX
一个 3x2 矩阵,指定图像的轴对齐仿射转换。 轴对齐转换包括缩放、翻转和 90 度旋转。
类型为D2D1_MATRIX_3X2_F。
默认值为 Matrix3x2F::Identity () 。
InterpolationMode
D2D1_YCBCR_INTERPOLATION_MODE
内插模式。
类型为D2D1_YCBCR_INTERPOLATION_MODE。

子采样模式

枚举 描述
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO
此模式尝试从输入图像的边界推断色度子采样。 选择此选项后,较小的平面将被向上采样为较大平面的大小,此效果输出矩形是两个平面的交集。 使用此模式时,在将效果应用于更改图像边界的输入平面(例如边框转换)时,应小心谨慎,以便保持平面之间的所需大小比率。
D2D1_YCBCR_CHROMA_SUBSAMPLING_420
色度平面由 水平子采样,垂直子采样。 选择此选项后,色度平面的水平和垂直方向将向上采样 2 倍,此效果输出矩形是两个平面的交集。
D2D1_YCBCR_CHROMA_SUBSAMPLING_422
色度平面由 水平子采样。 选择此选项后,色度平面将水平向上采样 2 倍,此效果输出矩形是两个平面的交集。
D2D1_YCBCR_CHROMA_SUBSAMPLING_444
色度平面未进行子采样。 选择此选项后,输出矩形是两个平面的交集。
D2D1_YCBCR_CHROMA_SUBSAMPLING_440
色度平面由 垂直子采样。 选择此选项后,色度平面垂直向上采样 2x,此效果输出矩形是两个平面的交集。

内插模式

枚举 描述
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR 对最近的单个点进行采样并使用它。 此模式使用的处理时间较少,但输出质量最低的图像。
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR 使用四点样本和线性内插。 此模式使用的处理时间比最近的邻居模式多,但输出更高质量的图像。
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC 使用 16 个示例立方内核进行内插。 此模式使用的处理时间最多,但会输出更高质量的图像。
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR 在单个像素内使用 4 个线性样本,以便进行良好的边缘抗锯齿。 此模式适用于在像素较少的图像上按少量纵向缩减。
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC 使用各向异性筛选根据位图的转换形状对图案进行采样。
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC 如果转换矩阵中涉及降级,则使用可变大小的高质量立方内核对图像执行预缩减。 然后将三次内插模式用于最终输出。

输出位图

输出位图的大小取决于应用于图像的转换矩阵。

该效果执行转换操作,然后在结果周围应用边界框。 输出位图是边界框的大小。

要求

要求
最低受支持的客户端 Windows 8.1 [桌面应用 |Windows 应用商店应用]
最低受支持的服务器 Windows Server 2012 R2 [桌面应用 |Windows 应用商店应用]
标头 d2d1effects_1.h
d2d1.lib、dxguid.lib

ID2D1Effect

JPEG YCbCr 支持

IWICPlanarBitmapSourceTransform