aKz*_*enT 4 .net c# wpf jpeg wic
我正在尝试使用 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
}
Run Code Online (Sandbox Code Playgroud)
要清楚:我必须设置 MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/ee719904%28v=vs.85%29.aspx 中列出的 /com/TextEntry 字段#_jpeg_metadata
数据由另一个仅支持此标记的应用程序读取,因此不能选择使用其他“注释”字段。
有任何想法吗?
for 的数据类型/com/TextEntry有点棘手,它需要一个 LPSTR。这是一个原始的 8 位编码字符串指针。您可以通过为参数传递一个 char[] 来做到这一点。使固定:
meta.SetQuery("/com/TextEntry", "xxx".ToCharArray());
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用非 ASCII 字符,文本编码可能是一个问题,您将在机器的默认代码页 (Encoding.Default) 中获得文本编码。
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |