如何把java生成打的验证码生成图片,并输出到文件夹
2018-01-23 13:56
507 查看
1.生成验证码图片
2.通过ImageIO.write()方法,将图片输出到文件夹
有问题请留下意见!
/** * 已有验证码,生成验证码图片 * @param textCode 文本验证码 * @param width 图片宽度(注意此宽度若过小,容易造成验证码文本显示不全,如4个字符的文本可使用85到90的宽度) * @param height 图片高度 * @param interLine 图片中干扰线的条数 * @param randomLocation 每个字符的高低位置是否随机 * @param backColor 图片颜色,若为null则表示采用随机颜色 * @param foreColor 字体颜色,若为null则表示采用随机颜色 * @param lineColor 干扰线颜色,若为null则表示采用随机颜色 * @return 图片缓存对象 */ public static BufferedImage generateImageCode(String textCode, int width, int height, int interLine, boolean randomLocation, Color backColor, Color foreColor, Color lineColor){ //创建内存图像 BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //获取图形上下文 Graphics graphics = bufferedImage.getGraphics(); //画背景图 graphics.setColor(null==backColor ? generateRandomColor() : backColor); graphics.fillRect(0, 0, width, height); //画干扰线 Random random = new Random(); if(interLine > 0){ int x = 0, y = 0, x1 = width, y1 = 0; for(int i=0; i<interLine; i++){ graphics.setColor(null==lineColor ? generateRandomColor() : lineColor); y = random.nextInt(height); y1 = random.nextInt(height); graphics.drawLine(x, y, x1, y1); } } //字体大小为图片高度的80% int fsize = (int)(height * 0.8); //验证码的横纵坐标 int fx = height - fsize-10; int fy = fsize; //设定字体 graphics.setFont(new Font("Default", Font.PLAIN, fsize)); //写验证码字符 for(int i=0; i<textCode.length(); i++){ fy = randomLocation ? (int)((Math.random()*0.3+0.6)*height) : fy; graphics.setColor(null==foreColor ? generateRandomColor() : foreColor); //将验证码字符显示到图象中 System.out.println(textCode.charAt(i)); graphics.drawString(textCode.charAt(i)+"", fx, fy); fx += fsize * 0.65; } graphics.dispose(); return bufferedImage; }
2.通过ImageIO.write()方法,将图片输出到文件夹
BufferedImage img=VerifyCodeUtil.generateImageCode(code, 105, 51, 3, false, null, null, null); try{ boolean flag=ImageIO.write(img, "jpg", new File("d:/com/verify.jpg")); //System.out.println(flag); }catch(Exception e){ e.printStackTrace(); }
有问题请留下意见!
相关文章推荐
- java生成输出验证码图片,并进行验证的代码
- 如何生成验证码图片,并且不刷新页面就可换图片
- Java生成验证码图片的程序
- java生成验证码图片—servlet篇(第一种)
- Java生成验证码图片的程序
- 生成图片验证码的时候抛出:java.lang.illegalStateException
- java 如何生成动态的gif图片
- java 如何生成动态的gif图片
- javaWeb中图片验证码的生成
- php程序如何生成验证码图片
- java如何生成图片缩略图,缩小图片,高清图片缩小
- java 如何生成动态的gif图片
- php程序如何生成验证码图片
- Java生成验证码图片3
- Java生成验证码图片的程序
- 生成验证码图片java程序
- Java生成验证码图片的程序
- Java生成验证码图片的程序
- byte字节流如何生成gif格式图片 java
- Java随机生成验证码图片,并且保存到文件系统中