java  ランダム画像のインスタンスコードを出力することを実現します。


java  ランダム画像のインスタンスコードを出力することを実現します。
ランダム画像(CAPTCHA画像)を出力する:Computetely Automatied Public Turing Test to Tell Computters and Humans Aart(コンピュータと人類を自動的に区別するテスト)
関連主要カテゴリー(JDKはAPIを調べます)
BufferedImage:メモリ画像
Graphics:絵筆
ImageIO:出力画像
htmlページに載せます。
注意:ブラウザはデフォルトでは画像をキャッシュします。

   public static int WIDTH = 120; 
public static int HEIGHT = 25; 
 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
 
  response.setContentType("text/html"); 
  //       
  BufferedImage image = new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB); 
  //     
  Graphics graphics = image.getGraphics(); 
  //     
  graphics.setColor(Color.WHITE); 
  graphics.fillRect(0, 0, WIDTH, HEIGHT); 
  //     
  graphics.setColor(Color.BLUE); 
  graphics.drawRect(1, 1, WIDTH-2, HEIGHT-2); 
  //     
  graphics.setColor(Color.YELLOW); 
  for(int i=0;i<8;i++){ 
    int xStart = new Random().nextInt(WIDTH); 
    int yStart = new Random().nextInt(HEIGHT); 
    int xEnd = new Random().nextInt(WIDTH); 
    int yEnd = new Random().nextInt(HEIGHT); 
    graphics.drawLine(xStart, yStart, xEnd, yEnd); 
  } 
  //     
  graphics.setColor(Color.RED); 
  int x = 5; 
  for(int i=0;i<4;i++){ 
    graphics.drawString(new Random().nextInt(9)+"", x, 20); 
    x+=30; 
  } 
  response.setContentType("image/jpeg");//       
  ImageIO.write(image, "jpeg", response.getOutputStream()); 
   
} 
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。