次の方法で共有


BitmapEncoder.IsThumbnailGenerated プロパティ

定義

新しいサムネイルが自動的に生成されるかどうかを示します。

public:
 property bool IsThumbnailGenerated { bool get(); void set(bool value); };
bool IsThumbnailGenerated();

void IsThumbnailGenerated(bool value);
public bool IsThumbnailGenerated { get; set; }
var boolean = bitmapEncoder.isThumbnailGenerated;
bitmapEncoder.isThumbnailGenerated = boolean;
Public Property IsThumbnailGenerated As Boolean

プロパティ値

Boolean

bool

ビットマップ エンコーダーで新しいサムネイルが自動的に生成されるかどうかを示す 値。 既定値は False です。

注釈

この値が true の場合、ビットマップ エンコーダーはフレーム ビットマップをダウンスケーリングすることで新しいサムネイルを生成します。 サムネイルのサイズは、 GeneratedThumbnailWidth プロパティと GeneratedThumbnailHeight プロパティによって決まります。 この値が false の場合、サムネイルはファイルに書き込まれません。

CreateForTranscodingAsync メソッドを使用して BitmapEncoder が作成され、IsThumbnailGenerated が false の場合、ビットマップ エンコーダーは既存のサムネイル データをそのまま残します。 この場合、エンコードする前にビットマップが変更された場合、出力ファイルに、イメージの新しい内容と一致しないサムネイルが含まれる可能性があります。

エンコード サムネイルをサポートするのは、JPEG、TIFF、JPEG-XR の画像の種類のみです。 エンコードされているイメージ形式がサムネイルをサポートせず、 IsThumbnailGenerated を true に設定した場合、 FlushAsync の呼び出しは HRESULT WINCODEC_ERR_UNSUPPORTEDOPERATIONで失敗します。 この例外をキャッチし、サムネイル生成を無効にしてエンコードを再試行する必要があります。 アプリでサムネイルをサポートする画像形式のみをエンコードする場合は、この手順をスキップできます。

try
 {
     await encoder.FlushAsync();
 }
 catch (Exception err)
 {
     switch (err.HResult)
     {
         case unchecked ((int) 0x88982F81): //WINCODEC_ERR_UNSUPPORTEDOPERATION
             // If the encoder does not support writing a thumbnail, then try again
             // but disable thumbnail generation.
             encoder.IsThumbnailGenerated = false;
             break;
         default:
             throw err;
     }
 }

 if (encoder.IsThumbnailGenerated == false)
 {
     await encoder.FlushAsync();
 }

適用対象