BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) メソッド

定義

インプレース プロパティとメタデータ編集用の新しい BitmapEncoder を非同期に作成します。 新しいエンコーダーでは、ビットマップ プロパティをインプレースでのみ編集でき、他の用途では失敗します。

public:
 static IAsyncOperation<BitmapEncoder ^> ^ CreateForInPlacePropertyEncodingAsync(BitmapDecoder ^ bitmapDecoder);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder const& bitmapDecoder);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder bitmapDecoder);
function createForInPlacePropertyEncodingAsync(bitmapDecoder)
Public Shared Function CreateForInPlacePropertyEncodingAsync (bitmapDecoder As BitmapDecoder) As IAsyncOperation(Of BitmapEncoder)

パラメーター

bitmapDecoder
BitmapDecoder

編集するイメージ データを含む BitmapDecoder 。 このパラメーターは、 ReadWrite のアクセス モードでストリームに作成する必要があります。

注意

エンコーダーは、元の BitmapDecoder が作成されたストリームに書き込みます。 出力ストリームを指定することはできません。

戻り値

既存の BitmapDecoder からのデータを使用して、新しい BitmapEncoder の非同期初期化を管理する オブジェクト。

属性

注釈

このメソッドを使用して、エンコーダーを使用して、限られた量のプロパティを編集またはイメージに書き込む場合にのみエンコーダーを取得します。 この方法で取得したエンコーダーは、 CreateForTranscodingAsync によって返されるエンコーダーよりもパフォーマンス上の利点を提供できます。これは、イメージ全体を再度エンコードする代わりに、新しいプロパティを空の埋め込み領域に書き込むためです。

この方法で取得されたエンコーダーに関するいくつかの制限事項を次に示します。

  • エンコーダーでは、次のメソッドのみを使用できます。
  • 入力 BitmapDecoder は、 ReadWrite アクセス権を持つストリームに作成されたエンコーダーである必要があります。
  • すべてのメタデータ形式で高速メタデータ エンコードがサポートされているわけではありません。 メタデータをサポートするネイティブ メタデータ ハンドラーは、IFD、Exif、XMP、GPS です。
  • メタデータ ブロックには、編集しようとしているプロパティを格納するのに十分なパディングが必要です。 何らかの理由でエンコード操作が失敗した場合は、 CreateForTranscodingAsync を使用してメタデータを編集し、イメージを再エンコードする必要があります。 再エンコードするときは、新しいパディングまたは追加のパディングを追加して、将来的にインプレース プロパティのエンコードを有効にすることもできます。 これを行うには、新しい BitmapTypedValue を作成し、Type を UInt32 に設定し、Value を追加するパディングのバイト数に設定します。 一般的な値は 4096 バイトです。 このテーブル内の 1 つ以上のメタデータ クエリの場所に、このメタデータ 項目を設定します。
    メタデータ形式JPEG メタデータ クエリTIFF、JPEG-XR メタデータ クエリ
    IFD/app1/ifd/PaddingSchema:Padding/ifd/PaddingSchema:Padding
    Exif/app1/ifd/exif/PaddingSchema:Padding/ifd/exif/PaddingSchema:Padding
    Xmp/xmp/PaddingSchema:Padding/ifd/xmp/PaddingSchema:Padding
    GPS/app1/ifd/gps/PaddingSchema:Padding/ifd/gps/PaddingSchema:Padding

適用対象