A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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"));
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马