Blog Stats
Posts - 14
Articles - 11
Comments - 1
Trackbacks - 0
随笔档案
2009年11月 (5)
2009年10月 (9)
文章档案
2009年10月 (2)
2009年9月 (9)
Infernu的Google site
Infernus-JXH
java中简单的验证码
package
com.tsinghuait.beans;
import
java.awt.Color;
import
java.awt.Font;
import
java.awt.Graphics;
import
java.awt.image.BufferedImage;
import
java.io.FileNotFoundException;
import
java.io.IOException;
import
javax.imageio.ImageIO;
import
javax.servlet.http.HttpServletResponse;
public
class
DrawImageBean
{
public
DrawImageBean()
{
}
public
String drawImage(HttpServletResponse response)
{
String code
=
""
;
BufferedImage image
=
new
BufferedImage(
64
,
30
, BufferedImage.TYPE_INT_RGB);
//
内存中的图片(宽, 高,颜色)
Graphics g
=
image.getGraphics();
//
得到画笔
//
Add your code here and complete your image
g.setColor(Color.WHITE);
//
将颜色设置为白色
g.fillRect(
0
,
0
,
400
,
300
);
//
填充整个区域
//
g.setColor(new Color(100, 100, 100));
//
g.drawString("Hello, world", 100, 100);
for
(
int
i
=
0
; i
<
100
; i
++
)
{
//
画出验证码干扰的线,防止识别软件读取进行恶意登录
g.setColor(
new
Color((
int
)(Math.random()
*
256
),
(
int
)(Math.random()
*
256
), (
int
)(Math.random()
*
256
)));
//
画笔的颜色
int
x1
=
10
+
(
int
)(Math.random()
*
54
);
int
y1
=
30
-
(
int
)(Math.random()
*
30
);
int
x2
=
x1
+
10
;
int
y2
=
y1
+
10
;
g.drawLine(x1, y1, x2, y2);
//
位置
}
for
(
int
i
=
0
; i
<
4
; i
++
)
{
//
画出验证码
g.setColor(
new
Color((
int
)(Math.random()
*
80
),
(
int
)(Math.random()
*
80
), (
int
)(Math.random()
*
80
)));
//
颜色较深,能看得清楚些
g.setFont(
new
Font(
"
Times New Roman
"
, Font.BOLD,
16
));
//
字体
String s
=
String.valueOf((
char
)(
'
A
'
+
(
int
)(Math.random()
*
58
)));
//
生成验证码,范围是所有大写到所有小写,保存到字符串s
code
+=
s;
g.drawString(s,
10
+
i
*
12
,
15
);
}
g.dispose();
try
{
ImageIO.write(image,
"
JPEG
"
, response.getOutputStream());
//
得到输出流 ,保存为jpg
}
catch
(FileNotFoundException e)
{
e.printStackTrace();
}
catch
(IOException e)
{
e.printStackTrace();
}
return
code;
}
}
posted on 2009-10-24 10:17
Infernus
阅读(249)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
.Text
and
ASP.NET
- Copyright © Infernus