Установка метаданных JPEG - проблемы реализации

Благодаря предварительным исследованиям я обнаружил, что не так уж сложно установить свойства MetaData для изображения . Например, я могу прочитать изображение JPEG в объект Bitmap и изменить его дату «Исходный снимок» с помощью метода SetPropertyItem изображения (я уже исследовал формат и перечисление для этого).

Однако, хотя Фактическая часть MetaData кажется простой, я столкнулся с парой раздражающих проблем реализации:

1) Когда я вызываю Save () на растровом изображении, не похоже, что используются исходные настройки кодировки изображения. Как результат, изменяется степень сжатия (предположительно до некоторого значения по умолчанию); Я вижу, что размер файла значительно уменьшился после моего вызова Save (). Я знаю, что вы можете настроить параметры кодирования изображения с помощью вызова Save (), но, честно говоря, я хочу изменить только метаданные изображения; нет ли простого способа просто сохранить изображение с исходными настройками кодировки? Даже если бы я мог напрямую ссылаться на существующие настройки кодировки изображения в вызове Save (), это помогло бы.

2) По-видимому, исходный файл заблокирован, когда вы читаете его в объект Bitmap. В результате я не могу сохранить изображение под исходным именем файла, не повредившись: в настоящее время я рисую изображение, которое я прочитал из файла, на внеэкранном растровом изображении, удаляю исходное изображение, а затем сохраняю закадровое растровое изображение. Еще раз, это кажется ужасно большим количеством дополнительной работы, когда все, что я хочу сделать, это обновить метаданные в файле изображения.

Мы будем очень признательны за любые предложения, которые вы можете предложить ... объем работы, который мне нужно выполнить, просто обновление метаданных файла JPEG (большинство из которых не имеет ничего общего с фактическим изменением метаданных) заставляет меня задуматься, не упускаю ли я более простых или лучших способов сделать это.

6
задан Brandon Amoroso 14 February 2011 в 17:29
поделиться