アットウィキロゴ

しゃしn しょり

import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import java.io.IOException;

public class pro extends JFrame{
  public static void main(String[] args){
    pro test = new pro();

    test.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){System.exit(0);}
    });

    test.setBounds( 0, 0, 200, 200);
    test.setVisible(true);
  }

  public void paint(Graphics g){
    Graphics2D g2 = (Graphics2D)g;

    BufferedImage readImage = null;
    try {
      readImage = ImageIO.read(new File("naga.jpg"));
    } catch (Exception e) {
      e.printStackTrace();
      readImage = null;
    }

    if (readImage == null){
      readImage = new BufferedImage(getWidth(), getHeight(),
        BufferedImage.TYPE_INT_BGR);
    }

    Graphics2D off = readImage.createGraphics();

    off.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);

    BasicStroke wideStroke = new BasicStroke(4.0f);
    off.setStroke(wideStroke);

    off.setPaint(Color.white);
    off.draw(new Ellipse2D.Double(30, 40, 50, 50));

    off.setPaint(Color.blue);
    off.draw(new Ellipse2D.Double(70, 40, 50, 50));

    off.setPaint(Color.red);
    off.draw(new Ellipse2D.Double(110, 40, 50, 50));

    off.setPaint(Color.yellow);
    off.fill(new Arc2D.Double(50, 100, 110, 110, 330, 100, Arc2D.PIE));
    off.setPaint(Color.gray);
    off.draw(new Arc2D.Double(50, 100, 110, 110, 330, 100, Arc2D.PIE));

    if (readImage != null){
      g2.drawImage(readImage, 0, 0, this);
    }

    try {
      boolean result =
       ImageIO.write(readImage, "png", new File("sample2.png"));
    } catch (Exception e) {
        e.printStackTrace();
    }
  }
}
最終更新:2010年11月04日 03:37