次の方法で共有


IWICPlanarBitmapFrameEncode::WriteSource メソッド (wincodec.h)

ソース プレーンからエンコードされた形式に行を書き込みます。

構文

HRESULT WriteSource(
  [in] IWICBitmapSource **ppPlanes,
       UINT             cPlanes,
       WICRect          *prcSource
);

パラメーター

[in] ppPlanes

種類: IWICBitmapSource**

イメージ プレーンを表す IWICBitmapSource の 配列を指定します。

cPlanes

型: UINT

planes パラメーターで指定されたコンポーネント プレーンの数。

prcSource

種類: WICRect*

IWICBitmapSource プレーンからエンコードするピクセルのソース四角形。 Null は、ソース全体を示します。 ソースの rect の幅は 、SetSize によって設定された幅と一致する必要があります。 繰り返し の WriteSource 呼び出しは、累積されたソースの合計の rect の高さが SetSize によって設定されたのと同じであれば行うことができます。

戻り値

種類: HRESULT

平面とソース四角形が要件を満たしていない場合、このメソッドは WINCODEC_ERR_IMAGESIZEOUTOFRANGEで失敗します。

IWICBitmapSource 形式がエンコーダーの要件を満たしていない場合、このメソッドは WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT で失敗します。

解説

連続する WriteSource 呼び出しは、出力イメージにスキャンラインを順番に追加すると想定されます。 IWICBitmapFrameEncode::InitializeIWICBitmapFrameEncode::SetSizeおよび IWICBitmapFrameEncode::SetPixelFormat は、このメソッドの前に呼び出す必要があります。または失敗します。

IWICBitmapFrameEncode::SetPixelFormat を介して設定されたインターリーブピクセル形式とコーデック固有のエンコード パラメーターによって、サポートされている平面形式が決まります。

WIC JPEG エンコーダー: QueryInterface を使用して、WIC JPEG IWICBitmapFrameEncode 実装からこのインターフェイスを取得できます。 この方法を使用して WIC JPEG エンコーダーで Y'CbCr データをエンコードする場合、フレームの作成時にエンコーダー オプションを使用してクロマ サブサンプリングを構成できます。 詳細については、「 エンコードの概要 」と 「IWICBitmapEncoder::CreateNewFrame 」を参照してください。

構成されたクロマ サブサンプリングに応じて、lineCount パラメーターには次の制限があります。

クロマ サブサンプリング X 座標 Y 座標 クロマの幅 クロマの高さ
4:2:0 2 の倍数 2 の倍数 lumaWidth / 2 最も近い整数に切り上げます。 lumaHeight / 2 最も近い整数に切り上げます。
4:2:2 2 の倍数 Any lumaWidth / 2 最も近い整数に切り上げます。 Any
4:4:4 Any Any Any Any
4:4:0 Any 2 の倍数 lumaWidth 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

関連項目

エンコードの概要

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode