Kelas BufferedImage Java

BufferedImageKelas Java adalah subkelas dari kelas Image. Ini digunakan untuk menangani dan memanipulasi data gambar. A BufferedImageterbuat dari ColorModel dari data gambar. Semua BufferedImageobjek memiliki koordinat pojok kiri atas (0, 0).

Konstruktor

Kelas ini mendukung tiga jenis konstruktor.

Konstruktor pertama membuat yang baru BufferedImagedengan ColorModel dan Raster yang ditentukan.

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

Konstruktor kedua membangun BufferedImagesalah satu jenis gambar yang telah ditentukan.

BufferedImage(int width, int height, int imageType)

Konstruktor ketiga menyusun BufferedImagesalah satu jenis gambar yang telah ditentukan: TYPE_BYTE_BINARY atau TYPE_BYTE_INDEXED.

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

Sr Tidak Metode & Deskripsi
1

copyData(WritableRaster outRaster)

Ini menghitung wilayah persegi panjang sewenang-wenang BufferedImagedan menyalinnya ke WritableRaster yang ditentukan.

2

getColorModel()

Ini mengembalikan objek kelas ColorModel dari sebuah gambar.

3

getData()

Ini mengembalikan gambar sebagai satu ubin besar.

4

getData(Rectangle rect)

Ini menghitung dan mengembalikan wilayah arbitrer dari BufferedImage.

5

getGraphics()

Metode ini mengembalikan Graphics2D, mempertahankan kompatibilitas mundur.

6

getHeight()

Ini mengembalikan ketinggian file BufferedImage.

7

getMinX()

Ini mengembalikan koordinat x minimum ini BufferedImage.

8

getMinY()

Ini mengembalikan koordinat y minimum ini BufferedImage.

9

getRGB(int x, int y)

Ini mengembalikan piksel integer dalam model warna RGB default (TYPE_INT_ARGB) dan ruang warna sRGB default.

10

getType()

Ini mengembalikan tipe gambar.

Contoh

Contoh berikut menunjukkan penggunaan BufferedImagekelas java yang menggambar beberapa teks di layar menggunakan Objek Grafik -

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

Keluaran

Saat Anda menjalankan kode yang diberikan, output berikut akan terlihat -