File f = new File("E:/Test/image.png"); //System.out.println("canRead : " + f.canRead()); try { ImageInputStream stream = ImageIO.createImageInputStream(f); //System.out.println("getBitOffset : " + stream.getBitOffset()); Iterator iter = ImageIO.getImageReaders(stream); ImageReader reader = (ImageReader)iter.next(); //Parse et décode une image IIOMetadata m reader.getImageMetadata(0); //imageIndex 1 pour essayer, je ne sais pas ce que c'est !!! //if(m != null){ Node n = m.getAsTree("javax_imageio_png_1.0"); n = n.getFirstChild(); //Examine Children of root while (n != null) { if (n.getNodeName().equals("gAMA")) { Node v = n.getAttributes().getNamedItem("value"); String value = v.getNodeValue(); float gamma = Integer.parseInt(value)/100000.0F; break; } n = n.getNextSibling(); } // } else System.out.println("m = null"); } catch(IOException e) { System.out.println("IO - Erreur : " + e.getMessage()); } catch(DOMException e) { System.out.println("DOM - Erreur : " + e.getMessage()); } catch(NumberFormatException e) { System.out.println("NumberFormat - Erreur : " + e.getMessage()); } catch(IllegalArgumentException e) { System.out.println("IllegalArgument - Erreur : " + e.getMessage()); } catch(IllegalStateException e) { System.out.println("IllegalState - Erreur : " + e.getMessage()); } //catch(Exception e) { System.out.println("Erreur : " + e.getMessage()); } }