Я пытаюсь прочитать PNG-изображение, используя javax.imageio, а затем извлечь метаданные глубины цвета и цвета.
Прямо сейчас я использую:
Iterator<ImageReader> itr = ImageIO.getImageReaders(stream);
while(itr.hasNext())
{
ImageReader reader = itr.next();
reader.setInput(stream);
IIOMetadata md = reader.getImageMetadata(0);
}
Но после этого я застрял. Кажется, единственный способ прочитать метаданные - это преобразовать их в дерево XML, используя md.getAsTree
, но итерируя по всему дереву, просто чтобы найти два поля, которые меня интересуют, кажется очень неэффективным.
Есть ли способ получить только эти поля эффективным способом (хеш-таблица или что-то в этом роде)?