Klasa BufferedImage w języku Java

BufferedImageKlasa Java jest podklasą klasy Image. Służy do obsługi i manipulowania danymi obrazu. A BufferedImageskłada się z ColorModel danych obrazu. Wszystkie BufferedImageobiekty mają współrzędne w lewym górnym rogu (0, 0).

Konstruktorzy

Ta klasa obsługuje trzy typy konstruktorów.

Pierwszy konstruktor tworzy nowy BufferedImagez określonym ColorModel i Raster.

BufferedImage(ColorModel cm, WritableRaster raster, 
boolean isRasterPremultiplied, Hashtable<?,?> properties)

Drugi konstruktor tworzy BufferedImagejeden z predefiniowanych typów obrazów.

BufferedImage(int width, int height, int imageType)

Trzeci konstruktor tworzy BufferedImagejeden z predefiniowanych typów obrazów: TYPE_BYTE_BINARY lub TYPE_BYTE_INDEXED.

BufferedImage(int width, int height, int imageType, IndexColorModel cm)

Sr.No Metoda i opis
1

copyData(WritableRaster outRaster)

Oblicza dowolny prostokątny region BufferedImagei kopiuje go do określonego WritableRaster.

2

getColorModel()

Zwraca obiekt klasy ColorModel obrazu.

3

getData()

Zwraca obraz jako jedną dużą płytkę.

4

getData(Rectangle rect)

Oblicza i zwraca dowolny region BufferedImage.

5

getGraphics()

Ta metoda zwraca Graphics2D, zachowuje zgodność wsteczną.

6

getHeight()

Zwraca wysokość BufferedImage.

7

getMinX()

Zwraca minimalną współrzędną x tego BufferedImage.

8

getMinY()

Zwraca minimalną współrzędną y tego BufferedImage.

9

getRGB(int x, int y)

Zwraca piksel będący liczbą całkowitą w domyślnym modelu kolorów RGB (TYPE_INT_ARGB) i domyślnej przestrzeni kolorów sRGB.

10

getType()

Zwraca typ obrazu.

Przykład

Poniższy przykład demonstruje użycie BufferedImageklasy java, która rysuje tekst na ekranie za pomocą Graphics Object -

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);
   }
}

Wynik

Po wykonaniu podanego kodu widoczne są następujące dane wyjściowe -