这个不难,主要是先生成验证码,然后再绘制验证码,最后再保存成图片就行,下面我简单介绍一下实现过程,实验环境win10jdk1.8eclipse,主要内容如下:
1.首先,定义一个verifycode类,也就是验证码类,导入的包及定义成员变量如下,这里主要设置了可选字体、可选字符(验证码字符集):
2.接着就是随机生成验证码字符的颜色和字体,代码如下,很简单,主要使用random类的nextint函数:
3.为了使验证码更逼真,这里你可以绘制一些干扰点或线都行,这里以绘制干扰线为例,代码如下,很简单,就是随机生成线段起点坐标和终点坐标,然后再绘制线段:
4.接着就是生成验证码,并绘制验证码。这里随机生成了4位验证码,主要调用了random类的nextint函数用于随机生成验证码字符,然后调用bufferedimage类和graphics2d类用于绘制验证码字符,主要代码如下:
5.最后就是返回随机生成的验证码文本,并保存验证码图片,主要代码如下,很简单:
6.接着,我们就可以进行测试了,这里定义了一个imagetest测试类,在main函数中直接创建verifycod
publicintgetrandom(){intnumber0while(true){number(int)(math.random()*1000)if(numbergt100ampampnumber