Сохранить описание изображения в PNG файл мета-данных
Я пытаюсь сохранить описание изображения в PNG-файле с помощью PropertyItem. Это не дает мне никаких ошибок, и изображение успешно сохраняется. Однако при повторном чтении он, по-видимому, не содержит описания изображения. Открытие файла в GIMP также не показывает описание изображения.
Что я делаю не так?
Что я уже пробовал:
Мой код для сохранения PNG-это:
using (var bitmap = TakePicture()) { var imageDescription = "Description of this image"; var propertyItem = (PropertyItem)FormatterServices.GetUninitializedObject(typeof(PropertyItem)); propertyItem.Id = 0x010E; // Image description. See https://msdn.microsoft.com/en-us/library/system.drawing.imaging.propertyitem.id(v=vs.110).aspx propertyItem.Type = 1; // A byte array. See https://msdn.microsoft.com/en-us/library/system.drawing.imaging.propertyitem.type(v=vs.110).aspx propertyItem.Value = Encoding.ASCII.GetBytes(imageDescription); propertyItem.Len = propertyItem.Value.Length; bitmap.SetPropertyItem(propertyItem); bitmap.Save(filename); }
Мой код для чтения его обратно таков:
var bitmap = (Bitmap)Image.FromFile(filename); var propertyItem = bitmap.GetPropertyItem(0x010E); var imageDescription = Encoding.ASCII.GetString(propertyItem.Value);
Что создает исключение Система.Значение свойства не может быть найдено..