Exif – один из форматов данных, в котором содержится дополнительная информация о изображении (JPEG, TIFF). Это может быть краткая информация о названии и авторе, или о том когда был сделан снимок. Это может быть также подробная информация о параметрах устройства, при помощи которого изображение было получено.
С чтением и записью Exif-а под WPF оказалось не совсем все очевидно. Вся проблема в многообразии форматов, а также в попытке микрософта все унифицировать и предложить свой формат.
Получить основную информацию достаточно легко:
BitmapDecoder decoder = BitmapDecoder.Create(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
InPlaceBitmapMetadataWriter pngInplace = decoder.Frames[0].CreateInPlaceBitmapMetadataWriter();
if (pngInplace != null)
{
if (pngInplace.CameraModel != null)
tbExifInfo.Text = pngInplace.CameraModel.ToString();
else
tbExifInfo.Text = "не указана";
}
else
tbExifInfo.Text = "не возможно получить метаданные";
Вот с записью Exif возникают некоторые проблемы. В документации слабо освещен тот момент, что нужно обязательно указать отступ – место, которое выделяется для хранения данных:
Continue reading