Java BufferedImage-Klasse
Die Java- BufferedImage
Klasse ist eine Unterklasse der Image-Klasse. Es wird verwendet, um die Bilddaten zu verarbeiten und zu bearbeiten. A BufferedImage
besteht aus ColorModel von Bilddaten. Alle BufferedImage
Objekte haben eine obere linke Eckkoordinate von (0, 0).
Konstruktoren
Diese Klasse unterstützt drei Arten von Konstruktoren.
Der erste Konstruktor erstellt ein neues BufferedImage
mit einem angegebenen ColorModel und Raster.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
Der zweite Konstruktor erstellt BufferedImage
einen der vordefinierten Bildtypen.
BufferedImage(int width, int height, int imageType)
Der dritte Konstruktor erstellt BufferedImage
einen 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- BufferedImage
Klasse, 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: