天天日夜夜添_精品国产99久久久久久人裸体 _成人app在线观看_日韩色网站

新聞資訊

    java.awt.Color;

    java.awt.Font;

    java.awt.;

    java.awt.;

    java.awt.;

    java.awt.geom.;

    java.awt.image.;

    java.io.File;

    java.io.;

    java.io.;

    java.io.;

    java.util.;

    java.util.;

    javax..;

    com..core.shiro.token..;

    class {

    //使用到字體java 驗證碼去干擾線java 驗證碼去干擾線,系統里沒有的話需要安裝字體,字體只顯示大寫,去掉了1,0,i,o幾個容易混淆的字符

    final = "";

    //驗證碼的Key

    final = "_CODE";

    = new ();

    /**

    * 驗證碼對象

    */

    class {

    code;//如 1 + 2

    value;//如 3

    () {

    code;

    }

    void ( code) {

    this.code = code;

    }

    () {

    value;

    }

    void ( value) {

    this.value = value;

    }

    }

    /**

    * 使用系統默認字符源生成驗證碼

    * @param 驗證碼長度

    * @

    */

    (){

    int = new ().(10) + 1;;

    int = new ().(10) + 1;;

    = new ();

    .( + " x " + );

    .( + );

    ;

    }

    /**

    * 使用系統默認字符源生成驗證碼

    * @param 驗證碼長度

    java 驗證碼去干擾線_python 去干擾線_數字基帶信號消除碼間干擾

    * @

    */

    (int ){

    (, );

    }

    /**

    * 清除驗證碼

    */

    void (){

    .().();

    }

    /**

    * 對比驗證碼

    */

    ( code){

    v = ().();

    .(v, .(code));

    }

    /**

    * 使用指定源生成驗證碼

    * @param 驗證碼長度

    * @param 驗證碼字符源

    * @

    */

    (int , ){

    if( == null || .() == 0){

    = ;

    }

    int = .();

    rand = new (.());

    = new ();

    for(int i = 0; i < ; i++){

    .(.(rand.(-1)));

    }

    .();

    }

    /**

    * 生成隨機驗證碼文件,并返回驗證碼值

    * @param w

    * @param h

    * @param

    * @param

    * @

    * @

    */

    (int w, int h, File , int ) {

    = ();

    (w, h, , );

    ;

    }

    /**

    * 輸出隨機驗證碼圖片流,并返回驗證碼值

    * @param w

    * @param h

    * @param os

    * @param

    數字基帶信號消除碼間干擾_python 去干擾線_java 驗證碼去干擾線

    * @

    * @

    */

    (int w, int h, os, int ) {

    = ();

    (w, h, os, );

    ;

    }

    /**

    * 生成指定驗證碼圖像文件

    * @param w

    * @param h

    * @param

    * @param code

    * @

    */

    void (int w, int h, File , code) {

    if( == null){

    ;

    }

    File dir = .();

    if(!dir.()){

    dir.();

    }

    try{

    .();

    fos = new ();

    (w, h, fos, code);

    fos.close();

    } catch( e){

    throw e;

    }

    }

    /**

    * 輸出指定驗證碼圖片流

    * @param w

    * @param h

    * @param os

    * @param code

    * @

    */

    void (int w, int h, os, code) {

    int = code.();

    image = new (w, h, .);

    rand = new ();

    g2 = image.();

    g2.(.,.);

    Color[] = new Color[5];

    Color[] = new Color[] { Color.WHITE, Color.CYAN,

    Color.GRAY, Color., Color., Color.,

    Color.PINK, Color. };

    float[] = new float[.];

    for(int i = 0; i < .; i++){

    [i] = [rand.(.)];

    [i] = rand.();

    }

    java 驗證碼去干擾線_python 去干擾線_數字基帶信號消除碼間干擾

    .sort();

    g2.(Color.GRAY);// 設置邊框色

    g2.(0, 0, w, h);

    Color c = (200, 250);

    g2.(c);// 設置背景色

    g2.(0, 2, w, h-4);

    //繪制干擾線

    = new ();

    g2.((160, 200));// 設置線條的顏色

    for (int i = 0; i < 20; i++) {

    int x = .(w - 1);

    int y = .(h - 1);

    int xl = .(6) + 1;

    int yl = .(12) + 1;

    g2.(x, y, x + xl + 40, y + yl + 20);

    }

    // 添加噪點

    float = 0.05f;// 噪聲率

    int area = (int) ( * w * h);

    for (int i = 0; i < area; i++) {

    int x = .(w);

    int y = .(h);

    int rgb = ();

    image.(x, y, rgb);

    }

    shear(g2, w, h, c);// 使圖片扭曲

    g2.((100, 160));

    int = h-4;

    Font font = new Font("", Font., );

    g2.(font);

    char[] chars = code.();

    for(int i = 0; i < ; i++){

    = new ();

    .(Math.PI / 4 * rand.() * (rand.() ? 1 : -1), (w / ) * i + /2, h/2);

    g2.();

    g2.(chars, i, 1, ((w-10) / ) * i + 5, h/2 + /2 - 10);

    }

    g2.();

    .write(image, "jpg", os);

    }

    Color (int fc, int bc) {

    if (fc > 255)

    fc = 255;

    if (bc > 255)

    bc = 255;

    int r = fc + .(bc - fc);

    int g = fc + .(bc - fc);

    int b = fc + .(bc - fc);

    new Color(r, g, b);

    }

    int () {

    int[] rgb = ();

    int color = 0;

    for (int c : rgb) {

    color = color > 1)

    * Math.sin(() i / ()

    java 驗證碼去干擾線_python 去干擾線_數字基帶信號消除碼間干擾

    + (6. * () phase)

    / () );

    g.(0, i, w1, 1, (int) d, 0);

    if () {

    g.(color);

    g.((int) d, i, 0, i);

    g.((int) d + w1, i, w1, i);

    }

    }

    }

    void ( g, int w1, int h1, Color color) {

    int = .(40) + 10; // 50;

    = true;

    int = 20;

    int phase = 7;

    for (int i = 0; i < w1; i++) {

    d = () ( >> 1)

    * Math.sin(() i / ()

    + (6. * () phase)

    / () );

    g.(i, 0, 1, h1, 0, (int) d);

    if () {

    g.(color);

    g.(i, (int) d, i, 0);

    g.(i, (int) d + h1, i, h1);

    }

    }

    }

    void main([] args) {

    File dir = new File("F:/");

    int w = 200, h = 80;

    for(int i = 0; i < 50; i++){

    = (4);

    File file = new File(dir, + ".jpg");

    (w, h, file, );

    }

    }

    }

    控制器調用工具類:

    /**

    * 獲取驗證碼

    * @param

    */

    @(value="",=.GET)

    void ( , ){

    try {

    .("", "No-cache");

    .("Cache-", "no-cache");

    .("", 0);

    .("image/jpg");

    //生成隨機字串

    = .(4);

    //存入Shiro會話

    .(., .());

    //生成圖片

    int w = 146, h = 33;

    數字基帶信號消除碼間干擾_python 去干擾線_java 驗證碼去干擾線

    .(w, h, .(), );

    } catch ( e) {

    .((),e, "獲取驗證碼異常:%s",e.());

    }

    }

    /**

    * 獲取驗證碼(Gif版本)

    * @param

    */

    @(value="",=.GET)

    void ( , ){

    try {

    .("", "No-cache");

    .("Cache-", "no-cache");

    .("", 0);

    .("image/gif");

    /**

    * gif格式動畫驗證碼

    * 寬,高,位數。

    */

    = new (146,42,4);

    //輸出

    out = .();

    .out(out);

    out.flush();

    //存入Shiro會話

    .out.( .text().());

    .(., .text().());

    } catch ( e) {

    .((),e, "獲取驗證碼異常:%s",e.());

    }

    }

    /**

    * 獲取驗證碼(jpg版本)

    * @param

    */

    @(value="",=.GET)

    void ( , ){

    try {

    .("", "No-cache");

    .("Cache-", "no-cache");

    .("", 0);

    .("image/jpg");

    /**

    * jgp格式驗證碼

    * 寬,高,位數。

    */

    = new (146,33,4);

    //輸出

    .out(.());

    = .(true);

    //存入

    .("_code",.text().());

    } catch ( e) {

    .((),e, "獲取驗證碼異常:%s",e.());

    }

    }

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有