java生成验证码工具类
java生成验证码工具类,供大家参考,具体内容如下
packagecom.demo.utils; importjava.awt.BasicStroke; importjava.awt.Color; importjava.awt.Font; importjava.awt.Graphics2D; importjava.awt.RenderingHints; importjava.awt.geom.QuadCurve2D; importjava.awt.image.BufferedImage; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.OutputStream; importjava.util.Random; importjavax.imageio.ImageIO; /** *生成验证码 *@authordongyangyang *@Date2017/3/1312:31 *@Version1.0 * */ publicclassAuthCodeUtils{ privatefinalstaticRandomrandom=newRandom(); //随机字体样式 privatefinalstaticint[]fontStyle={Font.HANGING_BASELINE,Font.ITALIC,Font.LAYOUT_LEFT_TO_RIGHT,Font.LAYOUT_NO_LIMIT_CONTEXT,Font.LAYOUT_NO_START_CONTEXT, Font.LAYOUT_RIGHT_TO_LEFT,Font.CENTER_BASELINE,Font.PLAIN,Font.ROMAN_BASELINE,Font.TRUETYPE_FONT,Font.TYPE1_FONT,Font.BOLD}; privatefinalstaticString[]font={"Ravie","Forte","Arial","Courier"}; privatefinalstaticint[]xarr={23,24,19,20,21}; privatefinalstaticint[]yarr={20,21,22,23,24,25,16,17,18}; privatefinalstaticint[]font_size={28,29,30,21,22,23,24,27,26,25}; /** *画随机码图 *@paramout *@paramwidth *@paramheight *@throwsIOException */ publicstaticvoiddraw(OutputStreamout,Stringvalue)throwsIOException{ intwidth=100,height=40; BufferedImagebi=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics2Dg=(Graphics2D)bi.getGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); g.setColor(randColor(240,255)); g.fillRect(0,0,width,height); g.drawRect(1,1,width-2,height-2); for(inti=0;i<10;i++){ g.setColor(randColor(150,250)); g.drawOval(random.nextInt(110),random.nextInt(24),5+random.nextInt(10),5+random.nextInt(10)); } g.setFont(getFont()); g.setColor(randColor(xarr[(int)(Math.random()*5)],254)); for(inti=0,len=value.length();i255){ fc=255; } if(bc>255){ bc=255; } intr=fc+random.nextInt(bc-fc); intg=fc+random.nextInt(bc-fc); intb=fc+random.nextInt(bc-fc); returnnewColor(r,g,b); } privatestaticchar[]c={'a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F', 'G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z','1','3','5','6','7','8','9'}; publicstaticStringgetRandom(intsize){ StringBuildersb=newStringBuilder(); for(inti=0;i 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。