最近在项目部署阿里云的时候,发现图形验证码是乱码了.
经过排查发现,应该是阿里云系统运维人员所选的安装方式,没有我们画图形验证码所选择的字体照成的.安装对应的字体后解决问题(在本地系统和测试系统都没有出现该问题,肯定是系统环境差异引起的)
java.awt.Font.Font(String name, int style, int size)
BufferedImage buffImg = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
// 设定图像背景色(因为是做背景,所以偏淡)
g.setColor(getRandColor(200, 250));
g.fillRect(0, 0, width, height);
// 创建字体,字体的大小应该根据图片的高度来定。
Font font = new Font("Times New Roman", Font.HANGING_BASELINE, 28);
// 设置字体。
g.setFont(font);