文档

Java™教程
隐藏目录
创建并绘制图像
导航:2D图形
课程:使用图像

创建和绘制图像

我们已经知道如何加载一个现有的图像,该图像可以是您系统中创建和存储的图像,也可以是网络上的任何位置。但是,您可能也想创建一个作为像素数据缓冲区的新图像。

在这种情况下,您可以手动创建一个BufferedImage对象,使用这个类的三个构造函数:

另一方面,我们可以使用Component类的方法。这些方法可以分析给定ComponentGraphicsConfiguration的显示分辨率,并创建适当类型的图像。

GraphicsConfiguration返回一个BufferedImage类型的对象,但Component返回一个Image类型的对象,如果您需要一个BufferedImage对象,那么您可以在代码中执行instanceof并进行强制转换为BufferedImage。

正如在前面的课程中已经提到的,我们不仅可以在屏幕上渲染图像。图像本身可以被视为一个绘图表面。您可以使用BufferedImage类的createGraphics()方法来实现这个目的:

...

BufferedImage off_Image =
  new BufferedImage(100, 50,
                    BufferedImage.TYPE_INT_ARGB);

Graphics2D g2 = off_Image.createGraphics();

离屏图像的另一个有趣用途是自动的双缓冲。通过将图像绘制到后备缓冲区,然后将该缓冲区复制到屏幕上,而不是直接绘制到屏幕上,可以避免动画图像中的闪烁。

Java 2D还允许访问离屏图像的硬件加速,这可以提供更好的渲染性能。您可以使用Image类的以下方法来获得此功能的好处:


上一页: 绘制图像
下一页: 写入/保存图像