国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP實例:用JSP程序做一個隨機彩色認證碼

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

<%@ page contenttype="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
color getrandcolor(int fc,int bc){//給定范圍獲得隨機顏色
random random = new random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextint(bc-fc);
int g=fc+random.nextint(bc-fc);
int b=fc+random.nextint(bc-fc);
return new color(r,g,b);
}
%>
<%
//設置頁面不緩存
response.setheader("pragma","no-cache");
response.setheader("cache-control","no-cache");
response.setdateheader("expires", 0);

// 在內存中創建圖象
int width=60, height=20;
bufferedimage image = new bufferedimage(width, height, bufferedimage.type_int_rgb);

// 獲取圖形上下文
graphics g = image.getgraphics();

//生成隨機類
random random = new random();

// 設定背景色
g.setcolor(getrandcolor(200,250));
g.fillrect(0, 0, width, height);

//設定字體
g.setfont(new font("times new roman",font.plain,18));

//畫邊框
g.setcolor(new color(255,255,255));
g.drawrect(0,0,width-1,height-1);

// 隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到
g.setcolor(getrandcolor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextint(width);
int y = random.nextint(height);
int xl = random.nextint(12);
int yl = random.nextint(12);
g.drawline(x,y,x+xl,y+yl);
}

// 取隨機產生的認證碼(4位數字)
string srand="";
for (int i=0;i<4;i++){
string rand=string.valueof(random.nextint(10));
srand+=rand;
// 將認證碼顯示到圖象中
g.setcolor(new color(20+random.nextint(110),20+random.nextint(110),20+random.nextint(110)));
//調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
g.drawstring(rand,13*i+6,16);
}

// 將認證碼存入session
session.setattribute("rand",srand);

// 圖象生效
g.dispose();

// 輸出圖象到頁面
imageio.write(image, "jpeg", response.getoutputstream());

%>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永新县| 蕲春县| 英超| 阿城市| 印江| 股票| 云林县| 合阳县| 大庆市| 普格县| 涞源县| 调兵山市| 三河市| 托克托县| 长沙市| 永顺县| 西峡县| 海兴县| 吉首市| 绥芬河市| 金塔县| 米泉市| 博兴县| 阿合奇县| 岑溪市| 宁晋县| 德惠市| 威远县| 天水市| 荆州市| 孝昌县| 白城市| 平陆县| 上林县| 恩平市| 延寿县| 龙游县| 荔波县| 吴桥县| 金秀| 北宁市|