使用AWT 将Graphics对象转换为Image对象

发表于:2008-08-07来源:作者:点击数: 标签:GraphicsImageAWT对象
Java 抽象窗口工具包(AWT)为在Graphics对象上绘制提供许多方法,但是如何在Image对象上绘制或者转换Graphics对象为Image对象? AWTImage类提供getGraphics方法和它的扩充,BufferedImage类提供createGraphics方法。优先的选择是使用BufferedImage,它返回更
Java抽象窗口工具包(AWT)为在Graphics对象上绘制提供许多方法,但是如何在Image对象上绘制或者转换Graphics对象为Image对象?

AWT Image类提供getGraphics方法和它的扩充,BufferedImage类提供createGraphics方法。优先的选择是使用BufferedImage,它返回更强大的Graphics2D类。

BufferedImage bffImg = new BufferedImage( );
Graphics gfx = bffImg.createGraphics( );
gfx.drawRect(10, 10, 50, 20); // draw a rectangle 


使用强大的Graphics API开发人员能够创建他们自己的图像,然后把它写入磁盘或者以PNG 或GIF的形式把它返回到客户端。新的JDK 1.4提供一个处理图像编码的API。对于那些仍使用1.3和更早的版本,有JAI(Java Advanced Imaging ,Java高级图像)API。

这个技术可以用来对任何Swing或AWT组件创建快照,并作为图像保存。这可能是创建屏幕快照的一种方法。请注意正被讨论的组件必须可绘制,因此你必须把它添加到某不可见的屏幕上的容器中。来自nanoTITAN Inc.开放源码的公用库的ComponentUtility类有这样的一个快照方法。

原文转自:http://www.ltesting.net