Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


12.10.2

Die Klassen im Detail


Sehr viele Aufgaben können bereits mit den statischen Methoden der Klasse ImageIO durchgeführt werden.

Wenn eine Anwendung weitere Funktionalität benötigt, können bei Bedarf weitere Klassen des API verwendet werden. So ist es z. B. möglich, nicht direkt auf das Bild zuzugreifen, sondern sich eine Liste von »Lese«-Objekten bzw. »Schreib«-Objekten geben zu lassen, wie folgendes Beispiel zeigt:
Iterator iter = ImageIO.getImageReadersByFormatName("png");
ImageReader in = (ImageReader)iter.next();
Die Methode getImageReadersByFormatName() liefert einen Iterator von ImageReader-Exemplaren zurück, die in der Lage sind, das gewünschte Format zu lesen. Ein ImageReader führt nur die Konvertierung durch, hat aber selbst zu diesem Zeitpunkt noch keine Verknüpfung zu einer Bilddatei. Die Methode liefert deshalb eine Menge an ImageReader-Exemplaren zurück, da durch die Plug-in-Architektur prinzipiell mehrere installierte Module in der Lage sein können, das angeforderte Format zu lesen.
ImageReader in;
...
File file = new File("c:\\test.gif");
ImageInputStream imgin = ImageIO.createImageInputStream(file); 
in.setInput(imgin);
Die Verknüpfung zur Bilddatei wird anschließend über die Methode setInput() durchgeführt. Als Pararameter erwartet die Methode ein Exemplar vom Typ ImageInputStream, das über die Methode createImageInputStream() erzeugt wird. Nun kann man damit beginnen, über die Methoden des ImageReader-Exemplars Informationen über das Bild abzufragen. Durch Aufruf der Methode read() wird z. B. das Bild geladen, analog zum Aufruf von ImageIO.read().

read() erwartet als Parameter den Index des zu ladenden Bildes. Der Index kann einen Wert ungleich 0 einnehmen, wenn es sich um ein Bildformat handelt, das mehrere Einzelbilder enthält. Die Anzahl an Bildern kann man mit der Methode getNumImages() ermitteln. Als Argument erwartet die Methode einen booleschen Wert, der angibt, ob die Bilder in der Bilddatei gezählt werden sollen, falls die Anzahl nicht im Bildformat genannt wird. Bei animierten gif-Bildern wird die Anzahl z. B. nicht als Zahl in der Bilddatei gespeichert, wodurch die Ermittlung durch eine Suche verlangsamt wird. Kann die Anzahl an Bildern nicht ermittelt werden, liefert die Methode -1 zurück.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.