首页 文章

PNG图像是否支持XMP元数据?

提问于
浏览
5

我一直试图了解XMP元数据在过去几个小时内如何处理PNG文件,但无法完全理解它 .

如果我使用Photoshop创建PNG图像,保存它并打开文件信息对话框(文件>文件信息或Ctrl Alt Shift I),我可以看到一些XMP属性,如 CreateDateCreatorToolModifyDate .

现在如果我尝试用exiv2打开文件并读取元数据,它似乎找不到任何东西:

auto image = Exiv2::ImageFactory::open(imagePath);
image->readMetadata();
Exiv2::XmpData &xmpData = image->xmpData();

exiftool -xmp:all myImage.pngexiv2 -P X myImage.png ,甚至GIMP也是如此(但我认为它是using exiv2 internally) .

如果在使用Photoshop再次保存时未删除任何添加的元数据,则不会出现此问题 . 如果不清楚,打开图像并使用exiv2添加XMP元数据,保存它,在Photoshop和文件信息对话框中打开图像,之前添加的属性不再存在 .

奇怪的是,如果你使用JPEG图像完成整个过程,一切都按预期工作:所有属性都可以从Photoshop和exiv2中看到,如果我尝试使用exiv2添加元数据(使用相同的代码),它会出现在Photoshop也是如此 .

我错过了一些明显的东西吗PNG有什么特别的东西不适合JPEG吗?我没有尝试使用Adobe's SDK来编辑XMP数据,这样更好吗?

任何帮助都会非常感激,因为这开始让我发疯:/

编辑:阅读this post后,我尝试使用Adobe Bridge,它似乎没有显示与Photoshop相同的属性 . 如果我使用Exiv2添加XMP元数据,它们将显示在Bridge中,但如果我在Photoshop中修改图像,则元数据将再次从Bridge中删除 .

1 回答

  • 1

    是的,我终于拿到了Photoshop CC的副本,一切正常 . 它必定是CS5和CS6中已在CC中更正的错误 .

    我认为Photoshop CS6(13.1?)的最新更新解决了这个问题 . 它似乎解决了PNG图像中ICC颜色配置文件的问题:http://forums.adobe.com/thread/1183489

相关问题