我正在尝试使用WPF向图像文件添加JPEG注释。尝试以下代码会抛出ArgumentOutOfRangeException
异常。设置其他属性没有问题。
using (Stream read = File.OpenRead(@"my.jpeg"))
{
JpegBitmapDecoder decoder = new JpegBitmapDecoder(read, BitmapCreateOptions.None, BitmapCacheOption.None);
var meta = decoder.Frames[0].Metadata.Clone() as BitmapMetadata;
meta.SetQuery("/app1/ifd/exif:{uint=40092}", "xxx"); // works
meta.SetQuery("/com/TextEntry", "xxx"); // does not work
}
为了明确起见:我必须设置在MSDN上列出的/com/TextEntry字段 http://msdn.microsoft.com/en-us/library/windows/desktop/ee719904%28v=vs.85%29.aspx#_jpeg_metadata
该数据由另一个应用程序读取,该应用程序仅支持此标签,因此不能使用其他“注释”字段。
有任何想法吗?
Windows Presentation Foundation (WPF)支持以下图像元数据模式:可交换图像文件(Exif)、tEXt(PNG文本数据)、图像文件目录(IFD)、国际新闻电讯协会(IPTC)和可扩展元数据平台(XMP)。
- DrDeth