IWICBitmapSourceTransform::CopyPixels 方法 (wincodec.h)
使用提供的输入参数复制像素数据。
语法
HRESULT CopyPixels(
[in] const WICRect *prc,
[in] UINT uiWidth,
[in] UINT uiHeight,
[in] WICPixelFormatGUID *pguidDstFormat,
[in] WICBitmapTransformOptions dstTransform,
[in] UINT nStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
参数
[in] prc
类型: const WICRect*
要复制的像素的矩形。
[in] uiWidth
类型: UINT
用于缩放源位图的宽度。 此参数必须等于可通过 IWICBitmapSourceTransform::GetClosestSize 获取的值。
[in] uiHeight
类型: UINT
缩放源位图的高度。 此参数必须等于可通过 IWICBitmapSourceTransform::GetClosestSize 获取的值。
[in] pguidDstFormat
类型: WICPixelFormatGUID*
应返回像素的所需像素格式的 GUID。
此 GUID 必须是通过 GetClosestPixelFormat 调用获取的格式。
[in] dstTransform
在像素复制之前要执行的所需旋转或翻转。
转换必须是 DoesSupportTransform 调用支持的操作。
如果指定 了 dstTransform , 则 nStride 是 转换后的步幅 ,并且基于 pguidDstFormat 像素格式,而不是原始源的像素格式。
[in] nStride
类型: UINT
目标缓冲区的步幅。
[in] cbBufferSize
类型: UINT
目标缓冲区的大小。
[out] pbBuffer
类型: BYTE*
输出缓冲区。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
编解码器开发人员备注
如果为 prc 传入 NULL,则复制整个映像。有关此方法的编解码器开发人员实现详细信息,请参阅 实现 IWICBitmapSourceTransform。
请求多个转换操作时,结果取决于操作的执行顺序。 为了确保编解码器之间的可预测性和一致性,所有编解码器必须以相同的顺序执行这些操作。 这些操作的建议顺序为:
- 缩放
- Crop
- 翻转/旋转
像素格式转换可以随时执行,因为它不会影响其他转换。
第一个参数 prc 用于指定剪裁图像所需的区域。 按照约定,缩放是在剪裁之前执行的,因此,如果要缩放和剪裁图像,则应在缩放图像后确定感兴趣的区域。
如果指定 了 dstTransform ,则步幅是转换后的步幅,并且基于 CopyPixels 调用中指定的 pixelFormat,而不是原始帧的像素格式。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP SP2、Windows Vista [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincodec.h |
Library | Windowscodecs.lib |
请参阅
概念性