【 tulaoshi.com - 编程语言 】
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类有这样的一个快照方法。