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 錯誤碼。
備註
編解碼器開發人員備註
如果為 中國傳入NULL,則會複製整個映像。如需此方法的編解碼器開發人員實作詳細數據,請參閱 實作 IWICBitmapSourceTransform。
要求多個轉換作業時,結果取決於執行作業的順序。 為了確保CODEC的可預測性和一致性,所有編解碼器都以相同順序執行這些作業非常重要。 這些作業的建議順序如下:
- 規模調整
- Crop
- 翻轉/旋轉
圖元格式轉換可以隨時執行,因為它不會影響其他轉換。
第一個參數 是使用中國 來指定裁剪影像感興趣的區域。 根據慣例,縮放會在裁剪之前執行,因此,如果要調整影像並裁剪,則應該在縮放影像之後判斷感興趣的區域。
如果指定 了 dstTransform ,則步幅是轉換的步幅,而且是以 CopyPixels 呼叫中指定的 pixelFormat 為基礎,而不是原始框架的像素格式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP 搭配 SP2、Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincodec.h |
程式庫 | Windowscodecs.lib |
另請參閱
概念