有没有办法使用imagemagick读/写XMP元数据?

时间:2014-06-24 18:08:25

标签: imagemagick metadata xmp exiftool

我想在JPEG和PNG文件中读/写XMP元数据。

我可以使用exiftool

执行此操作
~ $ exiftool -xmp-dc:description="FooBar" sample.png
    1 image files updated
~ $ exiftool sample.png | grep "Description"
Description                     : FooBar

但是,我无法使用imagemagick

读取XMP元数据
~ $ identify -verbose sample.png | grep "Description"

我编写XMP元数据的原因是Adobe Products可以读取它。

问题

  • 有没有办法使用imagemagick读取/写入XMP元数据?

3 个答案:

答案 0 :(得分:1)

您想要问的是#34; ImageMagick是否支持读取或编写XMP(描述性)元数据?"。从阅读the documentation来看,这个问题的答案是否定的。 ImageMagick(几乎)从文件读取所有元数据,但不读取描述性元数据。

如果由于某种原因您必须使用ImageMagick提取XMP元数据,您可以尝试包含过滤器。 Filters can be configured处理图像文件,但它们不属于ImageMagick本身。

答案 1 :(得分:1)

convert -ping yourimage.jpg XMP: -

答案 2 :(得分:0)

可以按如下方式访问XMP数据:

ImageMagick.XmpProfile xmp = image.GetXmpProfile();

Console.WriteLine("\n\n----> xmp:" + xmp);
if (xmp != null)
{
    you have to process the XML data of the XMPs result.  
    ie. use XPATH or some other XML interface.
}