Я пытался понять, как метаданные XMP работали с файлами PNG в течение последних нескольких часов, но не мог полностью обдумать это.
Если я создаю изображение PNG в Photoshop, сохраняю его и открываю диалоговое окно «Сведения о файле» («Файл»> «Сведения о файле» или «Ctrl + Alt + Shift + I»), я вижу некоторые свойства XMP, такие как CreateDate
, CreatorTool
или же ModifyDate
,
Теперь, если я пытаюсь открыть файл с помощью exiv2 и прочитать метаданные, он, похоже, ничего не находит:
auto image = Exiv2::ImageFactory::open(imagePath);
image->readMetadata();
Exiv2::XmpData &xmpData = image->xmpData();
То же самое относится и к exiftool -xmp:all myImage.png
, exiv2 -P X myImage.png
или даже GIMP (но я думаю, что это используя exiv2 внутри).
Это не было бы такой проблемой, если какие-либо добавленные метаданные не были удалены при повторном сохранении в Photoshop. В случае, если это неясно, открыв изображение и добавив метаданные XMP с exiv2, сохранив его, открыв изображение обратно в Photoshop и в диалоговом окне сведений о файле, ранее добавленные свойства больше не отображаются.
Странно то, что если вы выполняете весь этот процесс с изображением JPEG, все работает как положено: все свойства видны как из Photoshop, так и из exiv2, и если я пытаюсь добавить метаданные с exiv2 (используя тот же код), он появляется в Фотошоп также.
Я что-то упускаю из виду? Есть ли что-то особенное в PNG, что не относится к JPEG? Я не пытался использовать Adobe SDK редактировать данные XMP, это лучше?
Любая помощь будет высоко ценится, так как это начинает сводить меня с ума: /
Изменить: после прочтения эта почта Я пробовал с Adobe Bridge, и он, похоже, не отображает те же свойства, что и Photoshop. Если я добавляю метаданные XMP с Exiv2, они отображаются в Bridge, но если я изменяю изображение в Photoshop, метаданные снова исчезают из Bridge.
Правильно, я наконец-то получил в руки копию Photoshop CC, и все работает отлично. Должно быть, это ошибка в CS5 и CS6, которая была исправлена в CC.
Я думаю, что недавнее обновление Photoshop CS6 (13.1?) Исправило эту проблему. Кажется, также исправлены проблемы с цветовыми профилями ICC в изображениях PNG: http://forums.adobe.com/thread/1183489
Других решений пока нет …