国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

Java代碼生成圖片驗!證碼實現

2019-11-02 14:16:55
字體:
來源:轉載
供稿:網友

   介紹一個使用Java代碼生成隨機圖片驗證碼的示例

  可以直接配置成Servlet,在頁面直接調用

  Java代碼隨機生成圖片驗證碼

  package com.rchm.util.images;

  import java.awt.Color;

  import java.awt.Font;

  import java.awt.Graphics2D;

  import java.awt.image.BufferedImage;

  import java.io.FileOutputStream;

  import java.io.IOException;

  import java.io.OutputStream;

  import java.util.Random;

  import javax.imageio.ImageIO;

  /**

  * 驗證碼生成器

  */

  public class ValidateCode {

  // 圖片的寬度。

  private int width = 160;

  // 圖片的高度。

  private int height = 40;

  // 驗證碼字符個數

  private int codeCount = 5;

  // 驗證碼干擾線數

  private int lineCount = 150;

  // 驗證碼

  private static String code = null;

  // 驗證碼圖片Buffer

  private BufferedImage buffImg=null;

  private char[] codeSequence = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K', 'L',

  'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W','X', 'Y',

  'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

  public ValidateCode() {

  this.createCode();

  }

  /**

  *

  * @param width 圖片寬

  * @param height 圖片高

  */

  public ValidateCode(int width,int height) {

  this.width=width;

  this.height=height;

  this.createCode();

  }

  /**

  *

  * @param width 圖片寬

  * @param height 圖片高

  * @param codeCount 字符個數

  * @param lineCount 干擾線條數

  */

  public ValidateCode(int width,int height,int codeCount,int lineCount) {

  this.width=width;

  this.height=height;

  this.codeCount=codeCount;

  this.lineCount=lineCount;

  this.createCode();

  }

  public void createCode() {

  int x = 0,fontHeight=0,codeY=0;

  int red = 0, green = 0, blue = 0;

  x = width / (codeCount +2);//每個字符的寬度

  fontHeight = height - 2;//字體的高度

  codeY = height - 4;

  // 圖像buffer

  buffImg = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);

  Graphics2D g = buffImg.createGraphics();

  // 生成隨機數

  Random random = new Random();

  // 將圖像填充為白色

  g.setColor(Color.WHITE);

  g.fillRect(0, 0, width, height);

  // 創建字體

  ImgFontByte imgFont=new ImgFontByte();

  Font font =imgFont.getFont(fontHeight);

  g.setFont(font);

  for (int i = 0; i

  int xs = random.n

美女動態圖片![www.62-6.com/1/meinvgaoxiao/]
extInt(width);

  int ys = random.nextInt(height);

  int xe = xs+random.nextInt(width/8);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丘北县| 郸城县| 南和县| 锡林浩特市| 左云县| 鸡东县| 凤台县| 桐柏县| 滦南县| 阳谷县| 德保县| 彭州市| 灵山县| 洞口县| 水富县| 武胜县| 沁阳市| 邵武市| 大石桥市| 南雄市| 德清县| 彭水| 丰顺县| 徐闻县| 平罗县| 车险| 句容市| 灵宝市| 宁乡县| 大石桥市| 泰来县| 淮安市| 固镇县| 新余市| 黎川县| 北辰区| 宁国市| 社旗县| 昭平县| 洞口县| 新乡县|