package com.wizard; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.font.FontRenderContext; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio. * ; import javax.swing.JButton; public class GrpaDemo ... { public static void main(String[] args) throws IOException...{ int width = 100; int height = 100; String s = "Hello"; File file = new File("d:/image.png"); Font font = new Font("Serif", Font.BOLD, 10); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D)bi.getGraphics(); g2.setBackground(Color.yellow); g2.clearRect(0, 0, width, height); g2.setPaint(Color.RED); FontRenderContext context = g2.getFontRenderContext(); Rectangle2D bounds = font.getStringBounds(s, context); double x = (width - bounds.getWidth()) / 2; double y = (height - bounds.getHeight()) / 2; double ascent = -bounds.getY(); double baseY = y + ascent; g2.drawString(s, (int)x, (int)baseY); Rectangle2D rect =new Rectangle2D.Double(2.0D,2.0D,100D,100D); g2.setPaint(Color.blue); g2.draw(rect); JButton btn = new JButton("Hello"); btn.setBounds(10, 10, 50, 50); Graphics2D g3 = (Graphics2D)btn.getGraphics();// Shape sh = g3// g2.draw(sh); ImageIO.write(bi, "png", file); // ImageIO.write(btn, "png", file); }}