次の方法で共有


IWICJpegFrameDecode::SetIndexing メソッド (wincodec.h)

JPEG のインデックス作成を有効にして、効率的なランダム アクセスを実現します。

構文

HRESULT SetIndexing(
  WICJpegIndexingOptions options,
  UINT                   horizontalIntervalSize
);

パラメーター

options

種類: WICJpegIndexingOptions

インデックスを直ちに生成するか、 IWICBitmapSource::CopyPixels を今後呼び出すまで遅延するかを指定する値。

horizontalIntervalSize

型: UINT

インデックス作成の粒度 (ピクセル単位)。

戻り値

種類: HRESULT

正常に完了したときにS_OKを返します。

注釈

この方法により、メモリ使用量を犠牲にして、画像ピクセルへの効率的なランダム アクセスが可能になります。 インデックス作成に必要なメモリの量は、要求されたインデックスの粒度によって異なります。 SetIndexing が呼び出されない限り、IWICBitmapSource::CopyPixels の呼び出し中にピクセルをトップダウンして JPEG にアクセスする方がはるかに効率的です。

ファイルでインデックス作成がサポートされていない場合、このメソッドは失敗します。 最初にインデックス作成がサポートされているかどうかを判断するには、IWICJpegFrameDecode::D oesSupportIndexing を呼び出す必要があります。 このメソッドが複数回呼び出された場合、最後の呼び出しによって、インデックスの粒度が要求されたサイズに変更されます。

指定された間隔サイズは、インデックス エントリの水平方向の間隔を制御します。 この値は、JPEG の MCU (最小コード化単位) サイズ (通常は 8 ピクセルまたは 16 ピクセル) に従って内部的に切り上げられます。 インデックス間隔の垂直サイズは、常に 1 つの MCU サイズと等しくなります。

インデックスは、すぐに生成することも、 IWICBitmapSource::CopyPixels を今後呼び出す際に生成して、冗長な圧縮解除作業を減らすことができます。

要件

要件
サポートされている最小のクライアント Windows 10 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wincodec.h
Library Windowscodecs.lib
[DLL] Windowscodecs.dll

こちらもご覧ください

IWICBitmapSource::CopyPixels

IWICJpegFrameDecode

IWICJpegFrameDecode::ClearIndexing

IWICJpegFrameDecode::D oesSupportIndexing