使用了BuffereImage缓冲图像,graphics绘制图像,io流,其他也就没什么了。
注意 注意 注意 :
1.图片路径 要写对啊。
2.绘图颜色问题:建议用黑色背景图片,因为我们的绘图颜色是白色(如果会修改的自行修改)
3.点赞收藏啊!!!!!!还在等什么。
话不多说,直接干饭,上代码 如下:
package com.cn.util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
*
* @author xbx
* 生成验证码,并且绘制成图片形式 测试类
*/
public class VerificationCode {
public static void main(String[] args) throws FileNotFoundException, IOException {
createVerificationCode();
}
public static void createVerificationCode() {
//构造BufferedImage图像对象
//宽像素,高像素,色彩空间类型
BufferedImage image=new BufferedImage(80, 32, BufferedImage.TYPE_BYTE_BINARY);
//编辑图像
//获取绘图对象
Graphics g=image.getGraphics();
//设置字体颜色
g.setColor(Color.white);
//设置字体
g.setFont(new Font("SimSong",Font.ITALIC,20));
//绘制字符串;
String text="";
for(int i=0;i<4;i++) {
//*10不是乘十,而是确定随机数的范围。从0开始。
text +=(int) (Math.random()*10);
}
//字符串输出内容,水平起始坐标,垂直起始坐标。
g.drawString(text, 17, 24);
//输出图像
try {
ImageIO.write(image, "png", new FileOutputStream("C:/Users/xbx/Desktop/ceshi/VerificationCode.png"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}