【发布时间】:2016-03-14 22:43:40
【问题描述】:
我正在尝试将位图创建(编码)到文件中 - 格式应为 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“找不到属性”。
那么应该如何为从头开始创建的图像提供/创建图像元数据?
【问题讨论】:
标签: c# .net metadata wic jpeg-xr