IWICPlanarBitmapSourceTransform::CopyPixels 方法 (wincodec.h)

将像素复制到目标平面中。 由提供的输入参数配置。

如果指定 了 dstTransform、缩放或格式转换, 则 cbStride 是转换后的步幅,并且基于 pDstPlanes 参数的目标像素格式,而不是原始源的像素格式。

语法

HRESULT CopyPixels(
  [in] const WICRect             *prcSource,
       UINT                      uiWidth,
       UINT                      uiHeight,
       WICBitmapTransformOptions dstTransform,
  [in] WICPlanarOptions          dstPlanarOptions,
       const WICBitmapPlane      *pDstPlanes,
       UINT                      cPlanes
);

参数

[in] prcSource

类型: const WICRect*

要复制的像素的源矩形。

uiWidth

类型: UINT

用于缩放源位图的宽度。 此参数必须等于可通过 IWICPlanarBitmapSourceTransform:: DoesSupportTransform 获取的值。

uiHeight

类型: UINT

缩放源位图的高度。 此参数必须等于可通过 IWICPlanarBitmapSourceTransform:: DoesSupportTransform 获取的值。

dstTransform

类型: WICBitmapTransformOptions

在像素复制之前要执行的所需旋转或翻转。 旋转可以与水平翻转或垂直翻转组合,请参阅 WICBitmapTransformOptions

[in] dstPlanarOptions

类型: const WICPlanarOptions

用于指定转换的其他配置选项。 有关更多详细信息,请参阅 WICPlanarOptions

WIC JPEG 解码器:可以指定 WICPlanarOptionsPreserveSubsampling ,以在降级时保留子采样比率。 默认情况下,JPEG 解码器尝试通过在某些情况下仅缩减 Y 平面来保持质量,将图像更改为 4:4:4 色度子采样。

pDstPlanes

类型: WICBitmapPlane

指定每个分量平面的像素格式和输出缓冲区。 每个平面的平面数和像素格式必须与可通过 IWICPlanarBitmapSourceTransform::D oesSupportTransform 获取的值匹配。

cPlanes

类型: UINT

由 pDstPlanes 参数指定的组件平面数。

返回值

类型: HRESULT

如果不支持指定的缩放、翻转/旋转和平面格式配置,此方法将失败并 WINCODEC_ERR_INVALIDPARAMETER。 可以通过调用 IWICPlanarBitmapSourceTransform::D oesSupportTransform 来检查转换是否受支持。

注解

WIC JPEG 解码器:根据图像的配置色度子采样,源矩形具有以下限制:

Chroma Subsampling X 坐标 Y 坐标 色度宽度 色度高度
4:2:0 2 的倍数 2 的倍数 lumaWidth / 2 向上舍入到最接近的整数。 lumaHeight / 2 向上舍入到最接近的整数。
4:2:2 2 的倍数 任意 lumaWidth / 2 向上舍入到最接近的整数。 lumaHeight
4:4:4 任意 任意 llumaWidth llumaHeight
4:4:0 任意 2 的倍数 lumaWidth llumaHeight / 2 向上舍入到最接近的整数。
 

pDstPlanes 参数支持以下像素格式。

平面计数 平面 1 平面 2 平面 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr N/A

要求

要求
最低受支持的客户端 Windows 8.1 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 wincodec.h
Library Windowscodecs.lib
DLL Windowscodecs.dll

另请参阅

IWICPlanarBitmapSourceTransform