繁体   English   中英

从PNG图像中提取元数据

[英]Extracting metadata from PNG image

我正在尝试从PNG图像格式提取元数据。 我正在使用这个图书馆吗? http://code.google.com/p/metadata-extractor/

即使它声称支持PNG格式,我也会收到错误消息当我尝试使用PNG图像时, File format is not supported 从源头来看(在readMetadata方法中,它看起来也不支持PNG格式: http//code.google.com/p/metadata-extractor/source/browse/Source/com/drew/imaging/ImageMetadataReader。 java吗?R = 1aae00f3fe64388cd14401b2593b580677980884

我也尝试了这段代码,但是它也没有提取PNG上的元数据。

顺便说一句,我正在使用imagemagick在PNG上添加元数据,如下所示:

mogrify -comment "Test" Demo/myimage.png

是否有人将此库用于PNG格式,或者还有其他方法可以从PNG图像中提取元数据?

您可以尝试PNGJ (我是开发人员)

参见例如此处转储所有块的示例 如果您想读取特定的文本块(记得在PNG中每个文本元数据都有一个键和一个值),则可以编写

 pngr.getMetadata().getTxtForKey("mykey")

TweakPNG是窥视PNG块结构内部的一个有用的小Windows程序。

更新:如果要检查所有文本块(请记住,三种类型有所不同,但是...)

PngReader pngr = FileHelper.createPngReader(new File(file));
pngr.readSkippingAllRows();
for (PngChunk c : pngr.getChunksList().getChunks()) {
      if (!ChunkHelper.isText(c))   continue;
      PngChunkTextVar ct = (PngChunkTextVar) c;
      String key = ct.getKey();
      String val = ct.getVal();
      // ... 
}

还请记住,允许使用带有重复键的文本块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM