ビットマップをファイルに作成 (エンコード) しようとしています。形式は JpegXR で、メタデータを関連付けたいと考えています。WIC とそれに対応する C# (.Net) は素晴らしい仕事をしますが、どのような種類のメタデータ オブジェクトも作成できません。
これは私がやろうとしていることです(wbは私の画像です;メタデータなしで動作します):
WmpBitmapEncoder enc = new WmpBitmapEncoder
{
UseCodecOptions = true,
FrequencyOrder = true, // (progressive)
QualityLevel = 1, // 1=lossless 255=worst
HorizontalTileSlices = 0,
VerticalTileSlices = 0,
Lossless = true,
};
var bitmapFrame = BitmapFrame.Create(wb);
var meta0 = bitmapFrame.CreateInPlaceBitmapMetadataWriter();
var meta1 = bitmapFrame.Metadata;
enc.Frames.Add(bitmapFrame);
BitmapMetadata meta2 = new BitmapMetadata("wdp");
enc.Metadata = meta2;
using (var fileStream = new FileStream(target, FileMode.Create))
{
enc.Save(fileStream);
}
結果は次のとおりmeta0
== null
ですmeta1
。null
私が提供する文字列に関係なく、への呼び出しnew BitmapMetadata("")
は例外をスローします:ArgumentException
「プロパティが見つかりません」。
では、ゼロから作成された画像の画像メタデータをどのように提供/作成するのでしょうか?