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 BufferedImageund kopiert ihn in ein angegebenes WritableRaster.

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

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

7

getMinX()

Es gibt die minimale x-Koordinate davon zurück BufferedImage.

8

getMinY()

Es gibt die minimale y-Koordinate davon zurück BufferedImage.

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: