我正在尝试使用javax.imageio读取PNG图像,然后提取位深度和颜色类型元数据。
目前我在使用以下代码:
Iterator<ImageReader> itr = ImageIO.getImageReaders(stream);
while(itr.hasNext())
{
ImageReader reader = itr.next();
reader.setInput(stream);
IIOMetadata md = reader.getImageMetadata(0);
}
但是在这一点上,我遇到了困难。似乎读取元数据的唯一方法是使用
md.getAsTree
将其转换为 XML 树,但是仅为了查找我感兴趣的两个字段而遍历整个树似乎非常低效。有没有一种以高效方式获取这些字段的方法(哈希表或类似物)?