Java BufferedImage-Klasse
Die Java- BufferedImageKlasse ist eine Unterklasse der Image-Klasse. Es wird verwendet, um die Bilddaten zu verarbeiten und zu bearbeiten. A BufferedImagebesteht aus ColorModel von Bilddaten. Alle BufferedImageObjekte haben eine obere linke Eckkoordinate von (0, 0).
Konstruktoren
Diese Klasse unterstützt drei Arten von Konstruktoren.
Der erste Konstruktor erstellt ein neues BufferedImagemit einem angegebenen ColorModel und Raster.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
Der zweite Konstruktor erstellt BufferedImageeinen der vordefinierten Bildtypen.
BufferedImage(int width, int height, int imageType)
Der dritte Konstruktor erstellt BufferedImageeinen der vordefinierten Bildtypen: TYPE_BYTE_BINARY oder TYPE_BYTE_INDEXED.
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
| Sr.Nr. | Methode & Beschreibung |
|---|---|
| 1 | copyData(WritableRaster outRaster) Es berechnet einen beliebigen rechteckigen Bereich von |
| 2 | getColorModel() Es gibt ein Objekt der Klasse ColorModel eines Bildes zurück. |
| 3 | getData() Das Bild wird als eine große Kachel zurückgegeben. |
| 4 | getData(Rectangle rect) Es berechnet und gibt einen beliebigen Bereich des zurück |
| 5 | getGraphics() Diese Methode gibt eine Graphics2D zurück und behält die Abwärtskompatibilität bei. |
| 6 | getHeight() Es gibt die Höhe des zurück |
| 7 | getMinX() Es gibt die minimale x-Koordinate davon zurück |
| 8 | getMinY() Es gibt die minimale y-Koordinate davon zurück |
| 9 | getRGB(int x, int y) Es gibt ein ganzzahliges Pixel im Standard-RGB-Farbmodell (TYPE_INT_ARGB) und im Standard-sRGB-Farbraum zurück. |
| 10 | getType() Es gibt den Bildtyp zurück. |
Beispiel
Das folgende Beispiel zeigt die Verwendung einer Java- BufferedImageKlasse, die mithilfe von Grafikobjekt Text auf dem Bildschirm zeichnet.
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JPanel {
public void paint(Graphics g) {
Image img = createImageWithText();
g.drawImage(img, 20,20,this);
}
private Image createImageWithText() {
BufferedImage bufferedImage = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("www.tutorialspoint.com", 20,20);
g.drawString("www.tutorialspoint.com", 20,40);
g.drawString("www.tutorialspoint.com", 20,60);
g.drawString("www.tutorialspoint.com", 20,80);
g.drawString("www.tutorialspoint.com", 20,100);
return bufferedImage;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new Test());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
Ausgabe
Wenn Sie den angegebenen Code ausführen, wird die folgende Ausgabe angezeigt: