关于 JavaWeb 编辑验证码图片1.0
内存中创建一个图片
BufferedImage image =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g =image.getGraphics();
随机数
产生一个0-1的随机数
Random rnd = new Random()
随机颜色
利用图片颜色的RGB创建随机颜色
Color color =new Color(rnd.nextInt(256),rnd.nextInt(256),rnd.nextInt(256));
g.setColor(color);
设定字体
g.setFont(new Font("宋体",Font.BOLD,30));
四位随机数:
产生一个0000-10000的随机数
在不够四位的数后面补上0
String p = String.valueOf(rnd.nextInt(10000))+"";
int pLength =p.length();
if(pLength<4){
for(int i=1;i<=4-pLength;i++){
p=p+"0";
}
}
干扰线
在图片上显示150条干扰线,使图像中的认证码不易被其他机器检测到
for (int i=0;i<150;i++)
{
int x = rnd.nextInt(width);
int y = rnd.nextInt(height);
int xl = rnd.nextInt(12);
int yl = rnd.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
显示
return image;