image.getGraphics();
//创建随机类的实例
Random random = new Random();
// 设定图像背景色(因为是做背景,所以偏淡)
g.setColor(getRandColor(random, 200, 250));
g.fillRect(0, 0, width, height);
//备选字体
String fontTypes = {
\"宋体\", \"新宋体\", \"黑体\", \"楷体\", \"隶书\"};
int fontTypesLength = fontTypes.length;
//在
图片背景上增加噪点
g.setColor(getRandColor(random, 160, 200));
g.setFont(new Font(\"Times New Roman\", Font.PLAIN, 14));
for (int i = 0; i < 6; i++) {
g.drawString(\"*********************************************\", 0, 5 * (i + 2));
}
//取随机产生的认证码(6个汉字)
//保存生成的汉字字符串
String sRand = \"\";
for (int i = 0; i < 6; i++) {
int start = random.nextInt(length);
String rand = base.substring(start, start + 1);
sRand += rand;
//设置字体的颜色
g.setColor(getRandColor(random, 10, 150));
//设置字体
g.setFont(new Font(fontTypes[random.nextInt(fontTypesLength)], Font.BOLD, 18 + random.nextInt(6)));
//将此汉字画到
图片上
g.drawString(rand, 24 * i + 10 + random.nextInt(8), 24);
}
//将认证码存入session
session.setAttribute(\"rand\", sRand);
g.dispose(); [Page]
//输出图象到页面
ImageIO.write(image, \"JPEG\", response.getOutputStream());
%>