我正在尝试使用 javax.imageio 读取 PNG 图像,然后提取位深度和颜色类型的元数据。
现在我正在使用:
Iterator<ImageReader> itr = ImageIO.getImageReaders(stream);
while(itr.hasNext())
{
ImageReader reader = itr.next();
reader.setInput(stream);
IIOMetadata md = reader.getImageMetadata(0);
}
但在这一点之后,我被困住了。似乎读取 MetaData 的唯一方法是使用 将其转换为 XML 树md.getAsTree
,但是为了找到我感兴趣的两个字段而遍历整个树似乎非常低效。
有什么方法可以有效地获取这些字段(哈希表或类似的东西)?