首先生成图片
输入代码
ServletOutputStream sos =resp.getOutputStream();
ImageIO.write(generatepic(100,100),"JPEG",sos);
sos.flush();
sos.close();
设置字体随机,高与宽,字体颜色等
随机颜色,随机数字(4个)
StringBuilder builder = new StringBuilder();
for(int i = 0 ; i < 4 ;i ++){
//随机颜色
g.setColor(new Color(random.nextInt(255),random.nextInt(255), random.nextInt(255)));
//随机字符
int index = random.nextInt(data.length());
String str = data.substring(index, index + 1);
builder.append(str);
//写入
g.drawString(str, (width / 6) * (i + 1) , 20);
}
绘制噪音点
for(int j=0,n=random.nextInt(100);j<n;j++){
g.setColor(Color.RED);
g.fillRect(random.nextInt(width),random.nextInt(height),1,1);//随机噪音点
}
当然如果认为要多些干扰可以加一些线条
代码如下
for (int i=0;i<4;i++){
//颜色也要随机(设置每条线随机颜色)
g.setColor(new Color(random.nextInt(255),random.nextInt(255), random.nextInt(255)));
// 生成随机线条起点终点,坐标点
int x1=random.nextInt(80);
int y1=random.nextInt(30);
int x2=random.nextInt(90);
int y2=random.nextInt(30);
// 画线条
g.drawLine(x1,y1,x2,y2);
}