Java BufferedImage Sınıfı

Java BufferedImagesınıfı, Image sınıfının bir alt sınıfıdır. Görüntü verilerini işlemek ve işlemek için kullanılır. A BufferedImage, görüntü verilerinin ColorModel'inden yapılır. Tüm BufferedImagenesnelerin sol üst köşe koordinatı (0, 0) 'dır.

İnşaatçılar

Bu sınıf, üç tür yapıcıyı destekler.

İlk yapıcı BufferedImage, belirli bir ColorModel ve Raster ile yeni bir yapı oluşturur .

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

İkinci yapıcı BufferedImage, önceden tanımlanmış görüntü tiplerinden birini oluşturur.

BufferedImage(int width, int height, int imageType)

Üçüncü kurucu BufferedImage, önceden tanımlanmış görüntü türlerinden birini oluşturur: TYPE_BYTE_BINARY veya TYPE_BYTE_INDEXED.

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

Sr.No Yöntem ve Açıklama
1

copyData(WritableRaster outRaster)

Rastgele bir dikdörtgen bölgesini hesaplar BufferedImageve bunu belirtilen bir WritableRaster'a kopyalar.

2

getColorModel()

Bir görüntünün ColorModel sınıfının nesnesini döndürür.

3

getData()

Görüntüyü tek bir büyük karo olarak döndürür.

4

getData(Rectangle rect)

Keyfinin rastgele bir bölgesini hesaplar ve döndürür BufferedImage.

5

getGraphics()

Bu yöntem bir Graphics2D döndürür, geriye dönük uyumluluğu korur.

6

getHeight()

Bu yüksekliğini döndürür BufferedImage.

7

getMinX()

Bunun minimum x koordinatını döndürür BufferedImage.

8

getMinY()

Bunun minimum y koordinatını döndürür BufferedImage.

9

getRGB(int x, int y)

Varsayılan RGB renk modelinde (TYPE_INT_ARGB) ve varsayılan sRGB renk alanında bir tamsayı pikseli döndürür.

10

getType()

Görüntü türünü döndürür.

Misal

Aşağıdaki örnek, BufferedImageGraphics Object kullanarak ekrana bir miktar metin çizen java sınıfının kullanımını gösterir -

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

Çıktı

Verilen kodu çalıştırdığınızda, aşağıdaki çıktı görülür -