Java BufferedImage Sınıfı
Java BufferedImage
sı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 BufferedImage
nesnelerin 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 |
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 |
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 |
7 | getMinX() Bunun minimum x koordinatını döndürür |
8 | getMinY() Bunun minimum y koordinatını döndürür |
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, BufferedImage
Graphics 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 -