共用方式為


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

類型: WICBitmapTransformOptions

所需的旋轉或翻轉,以在像素複製之前執行。

轉換必須是 DoesSupportTransform 呼叫所支持的作業。

如果指定 dstTransform,nStride轉換的步幅,而且是以 pguidDstFormat 像素格式為基礎,而不是原始來源的像素格式。

[in] nStride

類型: UINT

目的地緩衝區的步幅。

[in] cbBufferSize

類型: UINT

目的地緩衝區的大小。

[out] pbBuffer

類型: BYTE*

輸出緩衝區。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

編解碼器開發人員備註

如果為 中國傳入NULL,則會複製整個映像。

如需此方法的編解碼器開發人員實作詳細數據,請參閱 實作 IWICBitmapSourceTransform

要求多個轉換作業時,結果取決於執行作業的順序。 為了確保CODEC的可預測性和一致性,所有編解碼器都以相同順序執行這些作業非常重要。 這些作業的建議順序如下:

  1. 規模調整
  2. Crop
  3. 翻轉/旋轉

圖元格式轉換可以隨時執行,因為它不會影響其他轉換。

第一個參數 是使用中國 來指定裁剪影像感興趣的區域。 根據慣例,縮放會在裁剪之前執行,因此,如果要調整影像並裁剪,則應該在縮放影像之後判斷感興趣的區域。

如果指定 了 dstTransform ,則步幅是轉換的步幅,而且是以 CopyPixels 呼叫中指定的 pixelFormat 為基礎,而不是原始框架的像素格式。

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 wincodec.h
程式庫 Windowscodecs.lib

另請參閱

概念

IWICBitmapSourceTransform

Microsoft Windows 映像編解碼器

程式設計指南

參考

範例和程式代碼範例