> 创建和绘制图像

我们已经知道如何加载现有映像,该映像已创建并存储在您的系统或任何网络位置。但是,您可能还希望创建一个新图像作为像素数据缓冲区。

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

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

GraphicsConfiguration 返回 BufferedImage 类型的对象,但是 Component 返回Image type的对象,如果您需要 BufferedImage 对象,则可以执行instanceof并转换为代码中的BufferedImage

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

...

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

Graphics2D g2 = off_Image.createGraphics();

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

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

首页