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