IWICBitmapSource::CopyPixels 方法 (wincodec.h)
指示对象生成像素。
语法
HRESULT CopyPixels(
[in] const WICRect *prc,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
参数
[in] prc
类型: const WICRect*
要复制的矩形。 NULL 值指定整个位图。
[in] cbStride
类型: UINT
位图的步幅
[in] cbBufferSize
类型: UINT
缓冲区的大小。
[out] pbBuffer
类型: BYTE*
指向缓冲区的指针。
返回值
类型: HRESULT
如果此方法成功,它将返回 S_OK。 否则,它将返回 HRESULT 错误代码。
注解
CopyPixels 是两个主要图像处理例程之一, (另一个是 锁定) 触发实际处理。 它指示对象根据其算法生成像素-这可能涉及解码存储在磁盘上的 JPEG 的一部分、复制内存块,甚至分析计算复杂的渐变。 该算法完全依赖于实现接口的对象。
调用方可以使用中国参数将操作限制为感兴趣的矩形 (ROI) 。 ROI 子矩形必须完全包含在位图边界中。 指定 NULL ROI 意味着应返回整个位图。
调用方控制内存管理,并且必须 (pbBuffer) 提供输出缓冲区,以便复制的结果以及缓冲区的边界 (cbBufferSize) 。 cbStride 参数定义输出缓冲区中两个垂直相邻像素之间的字节计数。 调用方必须确保有足够的缓冲区根据位图的宽度、高度和像素格式以及提供给复制方法的子矩形完成调用。
如果调用方需要执行大量昂贵的 IWICBitmapSource (例如 JPEG)副本,建议先创建内存中 IWICBitmap 。
编解码器开发人员备注
在此示例中,被调用方只能写入第一个 (prc-Width>*bitsperpixel+7) /8 字节的输出缓冲区的每一行 (,行是 连续的 cbStride 字节字符串) 。要求
最低受支持的客户端 | 具有 SP2 的 Windows XP、Windows Vista [桌面应用|UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用|UWP 应用] |
目标平台 | Windows |
标头 | wincodec.h |
Library | Windowscodecs.lib |
DLL | Windowscodecs.dll |