亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP隨機驗證圖片如何制作

2020-07-27 21:30:40
字體:
來源:轉載
供稿:網友

小編整理了一篇關于模仿騰訊隨機驗證圖片的文章。下面直接上代碼吧!一個Java 類和一個JSP 頁面。

Java類代碼:

以下是JSP模仿騰訊隨機驗證圖片引用片段:

package icewee.image;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.Line2D;import java.awt.image.BufferedImage;import java.util.Random;public class TokenUtil {  private static final String base = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefhijklmnpqrstuvwxyz";  private static final int length = base.length();  public static BufferedImage createTokenImage(int width, int height,      String randomCode) {    BufferedImage image = new BufferedImage(width, height,        BufferedImage.TYPE_INT_RGB);    Graphics2D g = image.createGraphics();    Random random = new Random();    g.setColor(new Color(230, 230, 250)); // 設置背景色    g.fillRect(0, 0, width, height); // 填充背景    g.setColor(Color.BLACK);    // 繪制邊緣    g.drawRect(-1, -1, width + 1, height + 1);    g.setColor(Color.GRAY);    // 設置字體,隨機選擇字體,暫設置8種字體    Font font = new Font((new String[] { "Arial", "Arial Black",        "Arial Italic", "Courier New", "Courier New Bold Italic",        "Courier New Italic", "Franklin Gothic Medium",        "Franklin Gothic Medium Italic" })[random.nextInt(8)],        Font.PLAIN, 30);    // g.setStroke(new BasicStroke((float)(Math.random()),    // BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));    g.setFont(font);    // 定義字體顏色范圍    int red = random.nextInt(160), green = random.nextInt(50), blue = random        .nextInt(50);    // 定義一個無干擾線區間和一個起始位置    int nor = random.nextInt(50), rsta = random.nextInt(131);    // 繪制干擾正弦曲線 M:曲線平折度, D:Y軸常量 V:X軸焦距    int M = random.nextInt(15) + 5, D = random.nextInt(23) + 15, V = random        .nextInt(5) + 1;    double x = 0.0;    double y = M * Math.sin(Math.toRadians(V * x)) + D;    double px, py;    for (int i = 0; i < 131; i++) {      px = x + 1;      py = M * Math.sin(Math.toRadians(V * px)) + D;      if (rsta < i && i < (rsta + nor))        g.setColor(new Color(230, 230, 250));      else        g.setColor(new Color(red, green, blue));      // 隨機設置像素點寬帶(線寬)      g.setStroke(new BasicStroke((float) (Math.random() + 1.5f)));      g.draw(new Line2D.Double(x, y, px, py));      x = px;      y = py;    }    char[] codes = randomCode.toCharArray();    for (int i = 0; i < codes.length; i++) {      // 旋轉圖形      int degree = (random.nextInt(20) - 10) % 360;      double ang = degree * 0.0174532925; // 將角度轉為弧度      g.rotate(ang, width / 2, height / 2);      g.setColor(new Color(red, green, blue));      g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,          RenderingHints.VALUE_ANTIALIAS_ON);      int gr = random.nextInt(8);      g.drawString(String.valueOf(codes[i]), 24 * i + 10 + gr, 38);    }    g.dispose();    return image;  }  public static String createRandomCode(int size, int width, int height) {    StringBuffer randomCode = new StringBuffer();    for (int i = 0; i < size; i++) {      Random random = new Random();      int start = random.nextInt(length);      String strRand = base.substring(start, start + 1);      randomCode.append(strRand);    }    return randomCode.toString();  }}

JSP頁面:

以下是JSP模仿騰訊隨機驗證圖片代碼引用片段:

<%@ page contentType="image/jpeg" pageEncoding="GBK"%><%@ page import="java.awt.image.BufferedImage" %><%@page import="javax.imageio.ImageIO" %><%@ page import="com.icesoft.image.TokenUtil" %><%  //設置頁面不緩存  response.setHeader("Pragma", "No-cache");  response.setHeader("Cache-Control", "no-cache");  response.setDateHeader("Expires", 0);  int width = 120, height = 50;  String randomCode = TokenUtil.createRandomCode(4, width, height);  System.out.println("生成的隨機碼:" + randomCode);  BufferedImage image = TokenUtil.createTokenImage(width, height, randomCode);  ImageIO.write(image, "JPEG", response.getOutputStream());  response.flushBuffer();  out.clear();  out = pageContext.pushBody();%>

以上就是JSP 模仿騰訊隨機驗證圖片全部代碼,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
大伊人狠狠躁夜夜躁av一区| 亚洲欧美中文在线视频| 国产精品羞羞答答| 国产一区二区三区四区福利| 色综合色综合网色综合| 欧美性色19p| 国产精品激情av在线播放| 亚洲成av人片在线观看香蕉| 欧美中文在线视频| 色老头一区二区三区在线观看| 亚洲理论在线a中文字幕| 亚洲一级一级97网| 国产精品18久久久久久首页狼| 欧美资源在线观看| 国产精品一区专区欧美日韩| 国产一区二区三区丝袜| 成人日韩在线电影| 欧美性猛交xxxx乱大交| 欧美成人免费一级人片100| 国产精品一香蕉国产线看观看| 亚洲激情国产精品| 国产日韩av在线播放| 国产欧美一区二区三区在线| 国产精品高潮视频| 欧美另类69精品久久久久9999| 成人网在线视频| 日韩欧美精品免费在线| 国产亚洲欧美另类中文| 欧美成人精品h版在线观看| 热久久视久久精品18亚洲精品| 亚洲自拍在线观看| 欧美激情伊人电影| 精品久久久久久久久久ntr影视| 欧美中在线观看| 欧美日韩一区二区精品| 成人午夜两性视频| 成人伊人精品色xxxx视频| 亚洲国产精品网站| 亚洲一区制服诱惑| 91色p视频在线| 96sao精品视频在线观看| 麻豆国产精品va在线观看不卡| 国产精品男女猛烈高潮激情| 51久久精品夜色国产麻豆| 欧美丝袜一区二区三区| 欧美亚洲午夜视频在线观看| 亚洲黄色av女优在线观看| 国产午夜精品全部视频播放| 亚洲男人天堂久| 国产欧美日韩中文字幕在线| 国外成人在线播放| 国产免费观看久久黄| 国产精品草莓在线免费观看| 亚洲精品日韩激情在线电影| 97视频在线观看免费高清完整版在线观看| 夜夜嗨av一区二区三区四区| 亚洲第一天堂av| 日韩一区二区久久久| 在线观看亚洲视频| 91精品国产综合久久男男| 欧美疯狂xxxx大交乱88av| 久久久久五月天| 国内精品模特av私拍在线观看| 亚洲人成电影在线| 日韩av在线看| 国产在线视频2019最新视频| 久久精品国产亚洲精品2020| 九九热在线精品视频| 日韩在线视频免费观看高清中文| 亚洲最大福利网站| 欧美激情一区二区三区成人| 在线播放国产精品| 成人久久18免费网站图片| 久久精品影视伊人网| 国产色视频一区| 日本亚洲欧洲色α| 在线成人激情黄色| 中文在线不卡视频| 亚洲自拍偷拍区| 国内精品小视频在线观看| 疯狂做受xxxx高潮欧美日本| 欧美有码在线观看视频| 91精品视频在线看| 日韩av在线免费播放| 九九久久久久99精品| 日韩最新免费不卡| 亚洲成人久久久| 亚洲天堂一区二区三区| 97碰在线观看| 亚洲人高潮女人毛茸茸| 2019亚洲日韩新视频| 在线观看中文字幕亚洲| 国产精品视频成人| 国产精品久久久久久久电影| 欧洲成人免费视频| 在线观看国产精品91| 亚洲欧美日韩图片| 欧美日韩亚洲一区二| 国产一区二区三区视频在线观看| 国产精品自产拍高潮在线观看| 国产午夜精品免费一区二区三区| 亚洲香蕉在线观看| 亚洲最大成人在线| 国产精品18久久久久久麻辣| 欧美中文在线观看| 国产亚洲视频在线观看| 午夜精品蜜臀一区二区三区免费| 久久97精品久久久久久久不卡| 亚洲美女av在线播放| 国内外成人免费激情在线视频| 26uuu亚洲国产精品| 91亚洲人电影| 久久成人18免费网站| 欧美成人免费在线观看| 久久久精品在线观看| 欧美视频免费在线| 性日韩欧美在线视频| 亚洲国产日韩欧美在线图片| 久久国产精品影片| 国产性猛交xxxx免费看久久| 久久人人看视频| 欧美一级电影在线| 欧美激情一区二区三区久久久| 亚洲色无码播放| 国外视频精品毛片| 亚洲v日韩v综合v精品v| 日韩欧美在线中文字幕| 日本午夜精品理论片a级appf发布| 热99久久精品| 欧美黑人又粗大| 亚洲人成啪啪网站| 国产精品对白刺激| 国产精品成久久久久三级| 亚洲视频欧美视频| 国产精品va在线播放| 欧美亚洲激情视频| 日韩女优人人人人射在线视频| 亚洲午夜性刺激影院| 午夜精品一区二区三区在线| 国产不卡视频在线| 亚洲成年网站在线观看| 国产热re99久久6国产精品| 欧美午夜精品在线| 国产精品在线看| 国产精品成人一区| 欧日韩在线观看| 日韩欧美在线视频免费观看| 亚洲成人性视频| 国产一区二区视频在线观看| 2019中文字幕在线免费观看| 国产一区二区三区视频免费| 亚洲а∨天堂久久精品喷水| 久久国产天堂福利天堂| 555www成人网| 日韩电影大全免费观看2023年上| 亚洲日本成人女熟在线观看| 色伦专区97中文字幕| 久久91超碰青草是什么| 久久精品亚洲精品| 欧美一级高清免费| 亚洲国产第一页| 亚洲级视频在线观看免费1级| 97精品国产97久久久久久免费| 亚洲成人免费网站|