十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
专注于为中小企业提供成都做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业丰城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。使用Java手撸一个生成图片验证码的功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
具体内容如下
1、首先新建一各专门生成验证码图片的类VerifyCode:
public class VerifyCode { private int w=70; private int h=35; private Random r=new Random(); //宋体,华文楷书,黑体,华文新魏,华文隶书,微软雅黑,楷体_GB2312,Times New Roman private String [] fontNames={"宋体","华文楷书","黑体","华文新魏","微软雅黑","华文隶书","楷体_GB2312","Times New Roman"}; //可选的字符 private String codes="23456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ"; //背景色 private Color bgColor=new Color(255,255,255); //验证码上的文本 private String text; //生成随机颜色 private Color randomColor(){ int red=r.nextInt(150); int green=r.nextInt(150); int blue=r.nextInt(150); return new Color(red,green,blue); } //生成随机字体 private Font randomFont(){ int index=r.nextInt(fontNames.length);//获取下标 String fontName=fontNames[index];//生成随机的字体名称 int style=r.nextInt(4);//获取随机样式,0表示无样式,1表示粗体,2表示斜体,3表示粗体加斜体 int size=r.nextInt(5)+24;//生成随机字号,24~28 return new Font(fontName,style,size); } //画干扰线 private void drawLine(BufferedImage image){ int num=3;//一共画3条 Graphics2D g2=(Graphics2D) image.getGraphics(); for(int i=0;i
网站栏目:使用Java手撸一个生成图片验证码的功能-创新互联
网页网址:http://6mz.cn/article/dihosp.html