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

首頁 > 編程 > JSP > 正文

JSP制作隨機驗證圖片的方法

2024-09-05 00:18:44
字體:
來源:轉載
供稿:網友

你知道JSP隨機驗證圖片如何制作嗎?下文中是小編整理關于隨機驗證圖片的文章,想了解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制作隨機驗證圖片的方法,如果你有更好的關于JSP的方法和技巧,請在下面的評論中與我們分享,我們希望這對你有用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文第一页| 国产精品xxx视频| 91久久中文字幕| 亚洲一区二区免费| 久久69精品久久久久久国产越南| 日韩av成人在线观看| 97久久精品视频| 久久久亚洲成人| 亚洲人成自拍网站| 色偷偷偷综合中文字幕;dd| 日韩欧美国产中文字幕| 久久成人综合视频| 欧美成人精品激情在线观看| 精品无人国产偷自产在线| 亚洲在线视频观看| 久久久亚洲网站| 久久久黄色av| 亚洲国产精品系列| 色综合亚洲精品激情狠狠| 欧美性猛交xxxx富婆| 亚洲免费影视第一页| 日本久久91av| 亚洲第一网站男人都懂| 国产z一区二区三区| 国产日韩欧美黄色| 日本精品在线视频| 国产精品久久久久久中文字| 亚洲xxx视频| 国产69精品久久久久9999| 欧美夜福利tv在线| 伊人亚洲福利一区二区三区| 精品无人区太爽高潮在线播放| 亚洲国产欧美一区二区丝袜黑人| 久久视频这里只有精品| 日韩美女福利视频| 欧美中文字幕视频在线观看| 欧美黄色成人网| 日韩电影大全免费观看2023年上| 91av福利视频| 国产精品稀缺呦系列在线| 国产成人高潮免费观看精品| 亚洲最新av在线网站| 久久久久久91香蕉国产| 日韩午夜在线视频| 亚洲精品国产电影| 亚洲国产精品成人va在线观看| 久久伊人精品视频| 136fldh精品导航福利| 日韩久久精品成人| 欧美老女人www| 国产啪精品视频网站| 日韩精品在线免费观看| 国产精品夜间视频香蕉| 日日噜噜噜夜夜爽亚洲精品| 欧美精品xxx| 美女性感视频久久久| 九九视频这里只有精品| 日韩在线视频中文字幕| 久久人人爽人人爽人人片av高请| 日韩大片在线观看视频| 欧美日本啪啪无遮挡网站| 日韩精品久久久久久久玫瑰园| 色综合久久悠悠| 一区二区三区四区视频| 欧美激情二区三区| 欧美成人午夜剧场免费观看| 精品视频www| 日韩大陆欧美高清视频区| 色yeye香蕉凹凸一区二区av| 另类少妇人与禽zozz0性伦| 久久精品91久久久久久再现| 国产伦精品一区二区三区精品视频| 欧美一区二区大胆人体摄影专业网站| 91精品国产沙发| 国产又爽又黄的激情精品视频| 97超级碰碰碰久久久| 欧美—级高清免费播放| 日韩av日韩在线观看| 欧美在线性爱视频| 狠狠躁夜夜躁人人爽天天天天97| 久久久久久国产免费| 色婷婷**av毛片一区| 97视频在线观看免费高清完整版在线观看| 97精品久久久中文字幕免费| 欧美一级视频免费在线观看| 日韩欧美国产网站| 国产色视频一区| 欧美亚洲激情在线| 伊人久久久久久久久久久久久| 国产精品午夜国产小视频| 国产精品美女主播在线观看纯欲| 精品性高朝久久久久久久| 日本视频久久久| 欧美美最猛性xxxxxx| 成人免费在线视频网址| 久久国产精品久久久久| 国产剧情久久久久久| 欧美诱惑福利视频| 国产亚洲精品成人av久久ww| 国产成人亚洲精品| 日韩欧美成人精品| 亚洲在线观看视频网站| 久久久久久中文字幕| 欧美成人免费全部观看天天性色| 精品一区二区三区电影| 色综合老司机第九色激情| 亚洲免费高清视频| 久久人人爽国产| 一区二区三区天堂av| 欧美精品激情在线观看| 青青久久av北条麻妃海外网| 亚洲二区在线播放视频| 国产午夜精品视频免费不卡69堂| 黑人与娇小精品av专区| 青青a在线精品免费观看| 欧洲亚洲女同hd| 久久精品在线视频| 日本精品一区二区三区在线| 国产亚洲精品久久久久久| 亚洲综合在线做性| 亚洲图片欧美午夜| 成人免费视频xnxx.com| 亚洲天堂影视av| 欧美性猛交xxxx富婆| 欧美激情视频一区二区三区不卡| 亚洲乱码国产乱码精品精| 成人信息集中地欧美| 一本大道香蕉久在线播放29| 在线不卡国产精品| 国产精品香蕉av| 正在播放欧美一区| 91久久久国产精品| 91九色单男在线观看| 亚洲第一区中文字幕| 精品视频偷偷看在线观看| 在线视频免费一区二区| 亚洲国产精品久久久久久| 日韩国产在线看| 日韩免费在线免费观看| 国产极品jizzhd欧美| 黑人巨大精品欧美一区二区免费| 亚洲欧美国产日韩天堂区| 亚洲第一精品夜夜躁人人爽| 欧美成人免费视频| 亚洲第一精品久久忘忧草社区| 亚洲天堂2020| 91精品国产高清久久久久久| 国产精品久久久久久久久久久新郎| 中文字幕视频一区二区在线有码| 91久久精品视频| 搡老女人一区二区三区视频tv| 国产精品视频永久免费播放| 精品女厕一区二区三区| 欧美精品在线免费播放| 欧美www视频在线观看| 欧美精品九九久久| 欧美色道久久88综合亚洲精品| 欧美黑人国产人伦爽爽爽| 国产精品视频导航| 亚洲精品99久久久久中文字幕| 国产伦精品一区二区三区精品视频| 国产在线观看91精品一区| 亚洲高清福利视频| 国产欧美最新羞羞视频在线观看|