คลาส Java BufferedImage
BufferedImage
คลาสJava เป็นคลาสย่อยของคลาส Image ใช้เพื่อจัดการและจัดการข้อมูลรูปภาพ A BufferedImage
ทำจาก ColorModel ของข้อมูลภาพ BufferedImage
วัตถุทั้งหมดมีพิกัดมุมบนซ้ายเป็น (0, 0)
ตัวสร้าง
คลาสนี้รองรับคอนสตรัคเตอร์สามประเภท
ตัวสร้างแรกสร้างใหม่BufferedImage
ด้วย ColorModel และ Raster ที่ระบุ
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
ตัวสร้างที่สองสร้างBufferedImage
หนึ่งในประเภทรูปภาพที่กำหนดไว้ล่วงหน้า
BufferedImage(int width, int height, int imageType)
ตัวสร้างที่สามสร้างBufferedImage
หนึ่งในประเภทรูปภาพที่กำหนดไว้ล่วงหน้า: TYPE_BYTE_BINARY หรือ TYPE_BYTE_INDEXED
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
ซีเนียร์ No | วิธีการและคำอธิบาย |
---|---|
1 | copyData(WritableRaster outRaster) มันคำนวณพื้นที่สี่เหลี่ยมตามอำเภอใจของ |
2 | getColorModel() ส่งคืนอ็อบเจ็กต์ของคลาส ColorModel ของรูปภาพ |
3 | getData() จะคืนรูปเป็นกระเบื้องขนาดใหญ่หนึ่งแผ่น |
4 | getData(Rectangle rect) มันคำนวณและส่งคืนพื้นที่โดยพลการของ |
5 | getGraphics() วิธีนี้ส่งคืน Graphics2D โดยยังคงความเข้ากันได้แบบย้อนหลัง |
6 | getHeight() จะคืนค่าความสูงของ |
7 | getMinX() มันส่งกลับ x |
8 | getMinY() มันกลับ y |
9 | getRGB(int x, int y) จะส่งคืนพิกเซลจำนวนเต็มในโมเดลสี RGB เริ่มต้น (TYPE_INT_ARGB) และพื้นที่สี sRGB เริ่มต้น |
10 | getType() มันส่งกลับประเภทรูปภาพ |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้BufferedImage
คลาสjava ที่วาดข้อความบนหน้าจอโดยใช้ 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);
}
}
เอาต์พุต
เมื่อคุณรันโค้ดที่กำหนดจะเห็นผลลัพธ์ต่อไปนี้ -