圖片驗證碼的實現主要的技術點是如何生成一個圖片。生成圖片可以使用java.awt包下的類來實現。我們先寫一個簡單的生成圖片的程序HelloImage.java。以下是代碼部分。
package com.vogoal.test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @author [email protected]
* create a image
*/
public class HelloImage {
public static void main(String[] args){
BufferedImage image = new BufferedImage(80, 25,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(new Color(255,255,255));
g.fillRect(0, 0, 80, 25);
g.setColor(new Color(0,0,0));
g.drawString("HelloImage",6,16);
g.dispose();
try{
ImageIO.write(image, "jpeg", new File("C:\\helloImage.jpeg"));
}catch(IOException e){
e.printStackTrace();
}
}
}
編譯後,在DOS下調用這個程序,正常情況下,會在C盤根目錄下生成一張名字helloImage.jpeg為的圖片。圖片上有文字HelloImage。
簡單介紹下生成圖片的流程:
1.建立BufferedImage對象。指定圖片的長度寬度和色彩。
BufferedImage image = new BufferedImage(80,25,BufferedImage.TYPE_INT_RGB);
2.取得Graphics對象,用來繪制圖片。
Graphics g = image.getGraphics();
3.繪制圖片背景和文字。
4.釋放Graphics對象所占用的資源。
g.dispose();
5.通過ImageIO對象的write靜態方法將圖片輸出。
ImageIO.write(image, "jpeg", new File("C:\\helloImage.jpeg"));