Startseite
Klassenlexikon

Klasse BufferedImage

Namensraum Vererbungshierarchie Schnittstellen
java.awt.image
Object
  Image
    BufferedImage
RenderedImage
WritableRenderedImage
Kurzbeschreibung

Eine Instanz ermöglicht die Speicherung eines Bildes.


Nützliche Programmfragmente

Lesen eines Bildes aus der jar-Datei des Programms

Bilder, die Teil eines Programms sind, werden als Hilfsmittel in der jar-Datei des Programms gespeichert und können von dort mit dem Classloader gelesen werden.

import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.io.IOException;
import javax.imageio.ImageIO;

...

BufferedImage bild = null;


InputStream in = getClass().getClassLoader().getResourceAsStream("Bilddateien/confetti.jpg");
try {
     bild = ImageIO.read(in);
     in.close();
}
catch (IOException ex)
{
     System.out.println("Die verlangte Bilddatei konnte nicht geladen werden.");
}

Herstellen einer Bildkopie mit Alpha-Kanal

Ein Bild, das aus einer Datei gelesen wurde, enthält oft keinen Alpha-Kanal. Die Bildfarben sind also deckend. Wenn du ein solches Bild durchscheinend anzeigen will, musst du es zunächst in ein BufferedImage mit dem Typ TYPE_INT_ARGB kopieren. Anschließ:end kannst du die Filter-Operation RescaleOp verwenden, um in der Bildkopie die Alpha-Werte aller Bildpunkte nach deinen Wünschen zu ändern.

BufferedImage rgbImage;
  //  hier ist ein Wert für  rgbImage zu beschaffen
BufferedImage bild;
int w = rgbImage.getWidth();
int h = rgbImage.getHeight();
bild = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics gb = bild.createGraphics(); //  Grafik-Tool erzeugen, das auf
                                     //  das neue Bild zeichnen kann
gb.drawImage(rgbImage, 0, 0, null);  //  altes Bild auf das
                                     //  neue Bild kopieren
gb.dispose();                        //  Grafik-Tool freigeben

Startseite
Klassenlexikon