校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > JSP隨機驗證圖片如何制作

JSP隨機驗證圖片如何制作

熱門標簽:杭州ai語音電銷機器人功能 高德地圖標注樣式 四川保險智能外呼系統商家 杭州語音電銷機器人軟件 地圖標注線上教程 北票市地圖標注 商洛電銷 電銷機器人是有一些什么技術 電銷機器人好賣么

小編整理了一篇關于模仿騰訊隨機驗證圖片的文章。下面直接上代碼吧!一個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 模仿騰訊隨機驗證圖片全部代碼,希望對大家的學習有所幫助。

您可能感興趣的文章:
  • 基于JavaScript代碼實現隨機漂浮圖片廣告
  • javascript隨機顯示背景圖片的方法
  • JavaScript實現隨機替換圖片的方法
  • js鼠標點擊圖片實現隨機變換圖片的方法
  • js實現網頁隨機切換背景圖片的方法
  • javascript隨機將第一個dom中的圖片添加到第二個div中示例
  • js 圖片隨機不定向浮動的實現代碼
  • JavaScript 創建隨機數和隨機圖片
  • javascript 隨機廣告代碼(圖片廣告)
  • JS實現鼠標移動到縮略圖顯示大圖的圖片放大效果
  • 圖片上傳即時顯示縮略圖的js代碼
  • JS實現頁面載入時隨機顯示圖片效果

標簽:丹東 紅河 貴州 西藏 宿州 江西 青島 云浮

巨人網絡通訊聲明:本文標題《JSP隨機驗證圖片如何制作》,本文關鍵詞  JSP,隨機,驗證,圖片,如何,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP隨機驗證圖片如何制作》相關的同類信息!
  • 本頁收集關于JSP隨機驗證圖片如何制作的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美中文一区二区三区| 国产精品一卡二卡| 亚洲久草在线视频| 一区二区三区中文字幕在线观看| 国产精品三级电影| 亚洲一区二区五区| 美日韩一区二区三区| 久久国产乱子精品免费女| 欧美妇女性影城| 欧美一区二区三区视频在线观看 | 欧美天堂亚洲电影院在线播放| 欧美二区三区91| 国产日韩欧美电影| 成人精品在线视频观看| 亚洲综合网站在线观看| 一区二区三区免费观看| 亚洲成人三级小说| 午夜精品一区在线观看| 亚洲超丰满肉感bbw| 一区二区欧美视频| 亚洲人成网站在线| 久久精品网站免费观看| 26uuu久久天堂性欧美| 91精品国产福利| 国产亚洲成aⅴ人片在线观看 | 天堂久久久久va久久久久| 久久99精品国产| 7777精品伊人久久久大香线蕉 | 秋霞电影一区二区| 日韩成人免费看| 丁香五精品蜜臀久久久久99网站| 96av麻豆蜜桃一区二区| 日韩欧美国产不卡| 亚洲一级二级在线| 不卡一区在线观看| 精品少妇一区二区三区视频免付费| 亚洲精品免费一二三区| 成人精品小蝌蚪| 在线成人高清不卡| 亚洲一区二区精品久久av| 午夜精品久久久久久久久久| 韩国精品免费视频| 欧美日韩日日夜夜| 日韩精品一区二区三区中文不卡| 国产日韩欧美在线一区| 美女www一区二区| 久久久www成人免费毛片麻豆| 久久国产精品一区二区| www欧美成人18+| 国产精品国产三级国产aⅴ原创| 亚洲日穴在线视频| 欧美高清视频一二三区| 亚洲成人黄色小说| 亚洲色欲色欲www在线观看| 精品国产乱码久久久久久免费| 成av人片一区二区| 天天操天天色综合| 日韩精品一区二区三区swag| 国产成人啪免费观看软件| 亚洲免费观看高清在线观看| 91免费视频观看| 免费在线观看不卡| 中文字幕一区二区三区不卡 | 欧美精品一区二区三区四区| 婷婷国产在线综合| 日韩久久精品一区| 99这里只有精品| 一区二区三区 在线观看视频| 欧美日本在线视频| 国产成人精品亚洲日本在线桃色| 亚洲成人先锋电影| 亚洲日本中文字幕区| 精品国产sm最大网站免费看 | 蜜臀精品久久久久久蜜臀 | 国产精品久久毛片a| 欧美日韩免费视频| 欧美一区二区三区不卡| 欧美一区二区三区在线看| 欧美一卡2卡3卡4卡| 在线精品国精品国产尤物884a| 国产福利不卡视频| 国产精品性做久久久久久| 久草这里只有精品视频| 精品在线观看视频| 成人丝袜高跟foot| 成人免费毛片高清视频| 国产激情一区二区三区四区 | 国产成人免费视频一区| 精品在线观看免费| a级精品国产片在线观看| 成人天堂资源www在线| 91影视在线播放| 欧美色综合久久| 欧美一级午夜免费电影| 精品国产免费久久| 中文字幕在线观看一区| 亚洲欧美日韩久久| 日韩精品三区四区| 99免费精品视频| 欧美日韩色综合| 国产精品福利电影一区二区三区四区| 午夜国产不卡在线观看视频| 国产一区二区三区综合| 欧美日韩国产首页| 国产网红主播福利一区二区| 琪琪一区二区三区| 欧美日韩高清一区二区不卡| 亚洲一区二区三区三| 高清视频一区二区| 中文字幕欧美一区| 国产一区二区在线影院| 欧美tickling网站挠脚心| 欧美一区二区三区在| 亚洲欧美日韩国产综合| 国产剧情av麻豆香蕉精品| 91精品视频网| 蜜桃av一区二区在线观看| 91精品国产综合久久蜜臀| 亚洲第一福利一区| 一本一道波多野结衣一区二区| 亚洲欧美在线另类| 色一情一乱一乱一91av| 中文字幕乱码亚洲精品一区| 亚洲国产日韩精品| 在线视频你懂得一区| 亚洲一区在线观看网站| 欧美日本在线看| 日本欧美一区二区在线观看| 欧美日韩国产综合久久| 亚洲18色成人| 26uuuu精品一区二区| 国产成人精品免费一区二区| 久久久久久久性| 成人深夜在线观看| 亚洲一区在线视频| 欧美本精品男人aⅴ天堂| 国产不卡一区视频| 国产精品久久777777| 色诱视频网站一区| 亚洲福利电影网| 国产色爱av资源综合区| 91在线高清观看| 日本aⅴ免费视频一区二区三区| 欧美大片免费久久精品三p| 国产麻豆视频精品| 午夜精品一区二区三区免费视频 | 5月丁香婷婷综合| 国产99久久久国产精品潘金| 中文字幕一区二区三中文字幕| 欧美另类z0zxhd电影| 蜜桃在线一区二区三区| 亚洲欧洲在线观看av| 国产婷婷色一区二区三区 | 亚洲欧美成aⅴ人在线观看| 日韩欧美久久久| 在线这里只有精品| 国产成人精品亚洲777人妖| 日本亚洲欧美天堂免费| 亚洲精品视频在线观看网站| 精品国产不卡一区二区三区| 欧美亚洲丝袜传媒另类| 在线精品视频一区二区| 成人精品一区二区三区四区| 麻豆视频观看网址久久| 亚洲午夜私人影院| 夜夜夜精品看看| 亚洲精品乱码久久久久久久久 | 欧美天堂一区二区三区| 91亚洲大成网污www| 成人av在线网站| 色偷偷久久人人79超碰人人澡| av中文一区二区三区| 成人综合在线视频| 国产成人在线看| 成人免费高清在线| 99久久精品免费看国产| 99久久综合国产精品| 色综合激情五月| 欧美日韩一区二区在线视频| 91精品国产免费久久综合| 欧美日韩电影一区| 精品女同一区二区| 国产欧美综合色| 亚洲免费电影在线| 亚洲3atv精品一区二区三区| 六月丁香婷婷色狠狠久久| 国产乱理伦片在线观看夜一区| 丁香天五香天堂综合| 欧美日韩亚洲综合一区二区三区| 日韩一区和二区| 亚洲视频一区在线观看| 久久99久久精品欧美| 99久久99久久综合| 欧美一区二区三区视频免费| 国产亚洲精品7777| 亚洲高清不卡在线观看| 国产一区二区三区不卡在线观看 | 成人app网站| 精品久久久久久亚洲综合网| 亚洲一区二区三区美女|