В ходе предыдущих исследований я обнаружил, что не сложно установить свойства MetaData для изображения. Например, я могу прочитать изображение JPEG в растровом объекте и изменить его дату «Исходный снимок» с помощью метода SetPropertyItem изображения (я уже исследовал формат и перечисление для этого тоже).
Однако, хотя фактическая часть MetaData кажется легкой, я столкнулся с парочкой раздражающих проблем с реализацией:
1) Когда я вызываю Save () для растрового изображения, не похоже, что используются исходные настройки кодирования изображения. В результате уровень сжатия изменяется (предположительно, до некоторого значения по умолчанию); Я вижу, что размер файла значительно уменьшился после моего вызова Save (). Я знаю, что вы можете настроить параметры кодирования для изображения в вызове Save (), но, честно говоря, я хочу только изменить метаданные изображения; нет ли простого способа сохранить изображение, используя его исходные настройки кодирования? Даже если бы я мог напрямую ссылаться на существующие настройки кодирования изображения в вызове Save (), это помогло бы.
2) По-видимому, оригинальный файл блокируется, когда вы читаете его в растровый объект. В результате я не могу сохранить изображение под его исходным именем без лишних раздумий: в настоящее время я рисую прочитанное изображение из файла на закадровом растровом изображении, удаляю исходное изображение, а затем сохраняю закадровое изображение. Опять же, это похоже на огромную дополнительную работу, когда все, что я хочу сделать, это обновить метаданные в файле изображения.
Любые предложения, которые вы можете предложить, будут наиболее цениться ... объем работы, которую я должен сделать, чтобы обновить метаданные файла JPEG (большинство из которых не имеет ничего общего с фактическим изменением метаданных), приводит меня Интересно, мне не хватает более простых или лучших способов сделать это?