IWICBitmapSource_CopyPixels

オブジェクトにピクセルを生成するよう指示する。

IWICBitmapSource_CopyPixels this, prc, cbStride, cbBufferSize, pbBuffer

this : [comobj] IWICBitmapSource インターフェースの COM オブジェクト変数
prc : [var] 型: const WICRect* コピーする矩形。NULL を指定するとビットマップ全体を指定したことになる。
cbStride : [int] 型: UINT ビットマップのストライド。
cbBufferSize : [int] 型: UINT バッファのサイズ。
pbBuffer : [int] 型: BYTE* バッファへのポインタ。

(プラグイン / モジュール : com_misc.dll)

解説

オブジェクトにピクセルを生成するよう指示する。

[戻り値]
型: HRESULT このメソッドが成功した場合は S_OK を返す。失敗した場合は HRESULT エラーコードを返す。

[備考]
CopyPixels は実際の処理を起動する 2 つの主要な画像処理ルーチンの 1 つであり (もう 1 つは
Lock)、オブジェクトに自身のアルゴリズムに従ってピクセルを生成するよう指示する。処理内容は、ディスク上の JPEG
の一部をデコードしたり、メモリブロックをコピーしたり、複雑なグラデーションを解析的に計算したりとさまざまである。アルゴリズムは、このインターフェースを実装するオブジェクトに完全に依存する。
呼び出し側は prc パラメータで処理対象の関心矩形 (ROI) を制限できる。ROI
の部分矩形はビットマップの境界内に完全に含まれていなければならない。NULL の ROI を指定するとビットマップ全体が返される。
呼び出し側はメモリ管理を担当し、コピー結果を受け取る出力バッファ (pbBuffer) とそのサイズ (cbBufferSize)
を用意する必要がある。cbStride パラメータは出力バッファ内で垂直方向に隣接する 2
つのピクセル間のバイト数を定義する。呼び出し側は、ビットマップの幅・高さ・ピクセルフォーマットおよびコピーメソッドに与えた部分矩形に基づき、呼び出しを完了するのに十分なバッファがあることを保証する必要がある。
呼び出し側が JPEG のように高価な IWICBitmapSource からの多数のコピーを行う必要がある場合は、先にメモリ上の
IWICBitmap を生成しておくことを推奨する。
コーデック開発者向けの注意 呼び出される側は出力バッファの各行の先頭 (prc->Width*bitsperpixel+7)/8
バイトのみに書き込むべきである (この場合「行」は連続する cbStride バイトを指す)。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs