YCbCr 效果
将平面和色度子采样 JPEG YCbCr 数据转换为 RGB。 此效果假定 YCbCr 数据的格式符合 JPEG 标准。 可以从 IWICPlanarBitmapSourceTransform 获取输入的数据。 YCbCr 效果需要两个输入;第一个必须是包含 luma 数据的DXGI_FORMAT_R8位图,第二个必须是包含子采样色度数据的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 |
色平面由水平子采样和垂直子采样。 选择此选项后,色度平面水平和垂直向上采样 2x,此效果输出矩形是两个平面的交集。 |
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 |
色平面由水平子采样。 选择此选项后,色度平面水平向上采样 2x,并且此效果输出矩形是两个平面的交集。 |
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 |