IWICPlanarBitmapFrameEncode::WritePixels メソッド (wincodec.h)
ソース プレーンからエンコードされた形式に行を書き込みます。
構文
HRESULT WritePixels(
UINT lineCount,
[in] WICBitmapPlane *pPlanes,
UINT cPlanes
);
パラメーター
lineCount
型: UINT
エンコードする行数。 WIC Jpeg 固有の行数制限については、「解説」セクションを参照してください。
[in] pPlanes
種類: WICBitmapPlane*
エンコードされた各コンポーネント プレーンのソース バッファーを指定します。
cPlanes
型: UINT
pPlanes パラメーターで指定されたコンポーネント プレーンの数。
戻り値
種類: HRESULT
平面とソース四角形が要件を満たしていない場合、このメソッドは WINCODEC_ERR_IMAGESIZEOUTOFRANGEで失敗します。
IWICBitmapSource 形式がエンコーダーの要件を満たしていない場合、このメソッドは WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT で失敗します。
注釈
連続する WritePixels 呼び出しは、出力イメージにスキャンラインを順番に追加すると想定されます。 IWICBitmapFrameEncode::Initialize、 IWICBitmapFrameEncode::SetSize 、 および IWICBitmapFrameEncode::SetPixelFormat は、このメソッドの前に呼び出す必要があります。または失敗します。
IWICBitmapFrameEncode::SetPixelFormat を介して設定されたインターリーブピクセル形式とコーデック固有のエンコード パラメーターによって、サポートされている平面形式が決まります。
WIC JPEG エンコーダー: QueryInterface を使用して、WIC JPEG IWICBitmapFrameEncode 実装からこのインターフェイスを取得できます。 この方法を使用して WIC JPEG エンコーダーで Y'CbCr データをエンコードする場合、フレームの作成時にエンコーダー オプションを使用してクロマ サブサンプリングを構成できます。 詳細については、「 エンコードの概要 」と 「IWICBitmapEncoder::CreateNewFrame 」を参照してください。
構成されたクロマ サブサンプリングに応じて、lineCount パラメーターには次の制限があります。
クロマ サブサンプリング | 行数の制限 | クロマ平面の幅 | クロマ平面の高さ |
---|---|---|---|
4:2:0 | 呼び出しがイメージの最後のスキャンラインをカバーしない限り、2 の倍数 | lumaWidth / 2 最も近い整数に切り上げます。 | lumaHeight / 2 最も近い整数に切り上げます。 |
4:2:2 | Any | lumaWidth / 2 最も近い整数に切り上げます。 | Any |
4:4:4 | Any | Any | Any |
4:4:0 | 呼び出しがイメージの最後のスキャンラインをカバーしない限り、2 の倍数 | Any | llumaHeight / 2 最も近い整数に切り上げます。 |
スキャンラインの全幅をエンコードし、ビットマップ ソースの幅を平面構成と一致させる必要があります。
さらに、ピクセル形式が IWICBitmapFrameEncode::SetPixelFormat を使用して設定されている場合は、GUID_WICPixelFormat24bppBGRする必要があります。
このメソッドに渡されるビットマップ ソースのサポートされているピクセル形式は次のとおりです。
平面数 | 平面 1 | 平面 2 | 平面 3 |
---|---|---|---|
3 | GUID_WICPixelFormat8bppY | GUID_WICPixelFormat8bppCb | GUID_WICPixelFormat8bppCr |
2 | GUID_WICPixelFormat8bppY | GUID_WICPixelFormat16bppCbCr | N/A |
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincodec.h |
Library | Windowscodecs.lib |
[DLL] | Windowscodecs.dll |