添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
private static String[] randomStr = {"0", "1", "2", "3", "4" , "5", "6", "7", "8", "9", "A", "B" , "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M" , "N", "O", "P", "Q", "R" , "S", "T", "U", "V", "W", "X", "Y", "Z" }; public static Object getVerificationCode(){ // 定义验证码图片大小 int width = 200,height = 50 ; // 在内存中创建 图像 BufferedImage bufferedImage = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); // 为内存中要创建的图像生成画布, Graphics2D graphics2D = bufferedImage.createGraphics(); // 画一个白色矩形,作为验证码背景 graphics2D.setColor(Color.LIGHT_GRAY); // 填充 graphics2D.fillRect(0,0 ,width,height); // 画 100 条 灰色的 随机干扰线 graphics2D.setColor(Color.GRAY); Random random = new Random(); for ( int i = 0; i < 100; i++ ) { graphics2D.drawLine(random.nextInt(width),random.nextInt(height),random.nextInt(width),random.nextInt(height)); // 创建字体 Font font = new Font("Times New Roman",Font.BOLD , 25 ); graphics2D.setFont(font); // 设置默认生成 4个 长度的验证码 int strLength = 4 ; StringBuffer str = new StringBuffer(); // 取得 4 位数的 随机字符串 for ( int i = 0; i < strLength; i++ ) { // 返回一个 随机数,在 1 和 20 之间 String randomNumber = String.valueOf( randomStr[ random.nextInt(36 ) ] ); int red = random.nextInt(255 ); int green = random.nextInt(255 ); int blue = random.nextInt(255 ); // 获得一个随机红蓝绿的配合颜色 graphics2D.setColor( new Color(red, green, blue)); // 把该数字用画笔在画布画出,并指定数字的坐标 graphics2D.drawString(randomNumber, 50 * i + 6, (height / 2) + 10 ); // 把该数字加到缓存字符串中。用于等会生成验证码字符串set到session中用于校对 str.append(randomNumber); // 清除内存的图片 bufferedImage.flush(); // 释放资源 graphics2D.dispose(); // 返回结果 Map result = new HashMap(); result.put( "imgStream" ,bufferedImage); result.put( "code" ,str); return result; public static void main(String[] args) {

另一种使用方式:(字节形式)