91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 45KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-03
  • 語言: Java
  • 標(biāo)簽: java??QQ??驗證碼??

資源簡介

效果圖:http://blog.csdn.net/ruixue0117/article/details/22829557。壓縮包里包括Java代碼和使用到的字體文件,如果不安裝字體會使用系統(tǒng)默認(rèn)字體。功能包括自定義圖片尺寸和驗證碼長度,每個字符隨機偏移角度,字符平滑邊緣,含干擾線、噪點和背景扭曲。

資源截圖

代碼片段和文件信息

package?hh.com.util;

import?java.awt.Color;
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.LinearGradientPaint;
import?java.awt.Paint;
import?java.awt.RenderingHints;
import?java.awt.geom.AffineTransform;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.OutputStream;
import?java.util.Arrays;
import?java.util.Random;

import?javax.imageio.ImageIO;

public?class?VerifyCodeUtils{

//使用到Algerian字體,系統(tǒng)里沒有的話需要安裝字體,字體只顯示大寫,去掉了10io幾個容易混淆的字符
public?static?final?String?VERIFY_CODES?=?“23456789ABCDEFGHJKLMNPQRSTUVWXYZ“;
private?static?Random?random?=?new?Random();


/**
?*?使用系統(tǒng)默認(rèn)字符源生成驗證碼
?*?@param?verifySize 驗證碼長度
?*?@return
?*/
public?static?String?generateVerifyCode(int?verifySize){
return?generateVerifyCode(verifySize?VERIFY_CODES);
}
/**
?*?使用指定源生成驗證碼
?*?@param?verifySize 驗證碼長度
?*?@param?sources 驗證碼字符源
?*?@return
?*/
public?static?String?generateVerifyCode(int?verifySize?String?sources){
if(sources?==?null?||?sources.length()?==?0){
sources?=?VERIFY_CODES;
}
int?codesLen?=?sources.length();
Random?rand?=?new?Random(System.currentTimeMillis());
StringBuilder?verifyCode?=?new?StringBuilder(verifySize);
for(int?i?=?0;?i? verifyCode.append(sources.charAt(rand.nextInt(codesLen-1)));
}
return?verifyCode.toString();
}

/**
?*?生成隨機驗證碼文件并返回驗證碼值
?*?@param?w
?*?@param?h
?*?@param?outputFile
?*?@param?verifySize
?*?@return
?*?@throws?IOException
?*/
public?static?String?outputVerifyImage(int?w?int?h?File?outputFile?int?verifySize)?throws?IOException{
String?verifyCode?=?generateVerifyCode(verifySize);
outputImage(w?h?outputFile?verifyCode);
return?verifyCode;
}

/**
?*?輸出隨機驗證碼圖片流并返回驗證碼值
?*?@param?w
?*?@param?h
?*?@param?os
?*?@param?verifySize
?*?@return
?*?@throws?IOException
?*/
public?static?String?outputVerifyImage(int?w?int?h?OutputStream?os?int?verifySize)?throws?IOException{
String?verifyCode?=?generateVerifyCode(verifySize);
outputImage(w?h?os?verifyCode);
return?verifyCode;
}

/**
?*?生成指定驗證碼圖像文件
?*?@param?w
?*?@param?h
?*?@param?outputFile
?*?@param?code
?*?@throws?IOException
?*/
public?static?void?outputImage(int?w?int?h?File?outputFile?String?code)?throws?IOException{
if(outputFile?==?null){
return;
}
File?dir?=?outputFile.getParentFile();
if(!dir.exists()){
dir.mkdirs();
}
try{
outputFile.createNewFile();
FileOutputStream?fos?=?new?FileOutputStream(outputFile);
outputImage(w?h?fos?code);
fos.close();
}?catch(IOException?e){
throw?e;
}
}

/**
?*?輸出指定驗證碼圖片流
?*?@param?w
?*?@param?h
?*?@param?os
?*?@param?code
?*?@throws?IOException
?*/
public?static?void?outputImage(int?w?int?h?OutputStream?os?String?code)?throws?IOException{
in

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7613??2014-04-02?23:37??VerifyCodeUtils.java

?????文件??????75272??1999-10-29?12:42??ALGER.TTF

-----------?---------??----------?-----??----

????????????????82885????????????????????2


評論

共有 條評論