📅  最后修改于: 2020-12-14 05:35:03             🧑  作者: Mango
Java BufferedImage
类是Image类的子类。它用于处理和操纵图像数据。 BufferedImage
由图像数据的ColorModel组成。所有BufferedImage
对象的左上角坐标为(0,0)。
此类支持三种类型的构造函数。
第一个构造函数使用指定的ColorModel和Raster构造一个新的BufferedImage
。
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)
Sr.No | Method & Description |
---|---|
1 |
copyData(WritableRaster outRaster) It computes an arbitrary rectangular region of the |
2 |
getColorModel() It returns object of class ColorModel of an image. |
3 |
getData() It returns the image as one large tile. |
4 |
getData(Rectangle rect) It computes and returns an arbitrary region of the |
5 |
getGraphics() This method returns a Graphics2D, retains backwards compatibility. |
6 |
getHeight() It returns the height of the |
7 |
getMinX() It returns the minimum x coordinate of this |
8 |
getMinY() It returns the minimum y coordinate of this |
9 |
getRGB(int x, int y) It returns an integer pixel in the default RGB color model (TYPE_INT_ARGB) and default sRGB colorspace. |
10 |
getType() It returns the image type. |
以下示例演示了使用Java BufferedImage
类的情况,该类使用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);
}
}
当您执行给定的代码时,将看到以下输出-