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