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.1

Lesen und Schreiben von Bildern


Das Image-I/O-API wird am einfachsten über die static vereinbarten Methoden der Klasse ImageIO benutzt. Zum Lesen wird lediglich die Methode read(), zum Schreiben die Methode write() benötigt. Durch folgende Zeilen wird somit ein Bild gelesen:
  import javax.imageio.ImageIO;
  ...
  File f = new File("c:\\img.gif");
  BufferedImage img = ImageIO.read(f);
  ...
Beim Lesevorgang wird automatisch geprüft, ob ein Modul installiert ist, mit dem das Bildformat gelesen werden kann. Falls ja, wird das Bild als BufferedImage-Exemplar zurückgegeben.

Analog dazu kann der Inhalt eines BufferedImage wieder in einem konkreten Format geschrieben werden:
  import javax.imageio.ImageIO;
  ...
  BufferedImage img;
  ...
  File f = new File("c:\\imgout.gif");
  BufferedImage img = ImageIO.write(img, "png", f);
  ...
Der zweite Parameter der write()-Methode erwartet das Format, in dem das Bild geschrieben werden soll (im obigen Beispiel png).

Die aktuell installierten Bildformate können über die ebenfalls static vereinbarten Methoden getReaderFormatNames() und getWriterFormatNames() ermittelt werden. Somit werden durch folgende Zeilen alle unterstützten Schreibformate ausgegeben:
  String[] names = ImageIO.getWriterFormatNames();
  for(int i=0; i < names.length; i++) 
    System.out.println(names[i]);
Ohne zusätzliche Plug-ins ist das J2SDK 1.4 in der Lage, gif, jpg und png zu lesen und jpg und png zu schreiben.

Zusätzliche Plug-ins müssen der Plug-in-Schnittstelle entsprechen und werden installiert, indem man das JAR-Archiv mit den Klassen im Klassenpfad verfügbar macht.


 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.