package yanzheng;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
public class CheckImg {
public static void main(String[] args) throws IOException {
// 定义图片整体的宽度
int width = 120;
// 定义图片的整体的高度
int height = 40;
// 创建一个用于保存图片信息的缓冲区对象
BufferedImage bufi = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
// 获取画笔
Graphics g = bufi.getGraphics();
// 修改图片的背景颜色 设置画笔的颜色
g.setColor(Color.BLACK);
// 填充颜色
g.fillRect(0, 0, width, height);
// 设置图片的边框
g.setColor(Color.YELLOW);
g.drawRect(0, 0, width - 1, height - 1);
// 准备给图片上写的数据
String data = "QWERTYUPASDFGHJKLZXCVBNMq定义变量,提供给图片上写的数据wertyupasdfghjkzxcvbnm0123456789";
// 定义一个随机数
Random r = new Random();
// 定义变量,提供给图片上写数据的x轴的坐标
int x = 15;
int y = 30;
for (int i = 1; i <= 4; i++) {
// 修改画笔的颜色
g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
// 设置字体的样式
g.setFont(new Font("宋体", Font.ITALIC, 30));
int index = data.length();
char ch = data.charAt(r.nextInt(index));
g.drawString(ch + "", x, y);
x += 20;
}
// 设置干扰线
for (int i = 1; i <= 6; i++) {
g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width),r.nextInt(height));
}
// 需要把这个图片保存到指定的文件中(通过网络发给浏览器)
ImageIO.write(bufi, "JPG", new FileOutputStream("e:/1.jpg"));
}
}
|
|