工作中, 有时会用到给人生成默认头像的情况, 这里参考网上的方法写了一个类似钉钉头像的生成代码, 以便后续使用, 先记录一下
public static void main(String[] args) throws IOException {// 图片宽int width = 100;// 图片高int height = 100;// 得到图片缓冲区 // INT精确度达到一定,RGB三原色,高度70,宽度150BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);// 得到它的绘制环境(这张图片的笔)Graphics2D g2 = (Graphics2D) bi.getGraphics();// 设置背景颜色g2.setColor(new Color(0, 137, 255));// 填充整张图片(其实就是设置背景颜色)g2.fillRect(0, 0, width, height);// 设置字体颜色g2.setColor(Color.white);// 边框加粗g2.setStroke(new BasicStroke(2.0f));// 画边框就是黑边框g2.drawRect(1, 1, width - 2, height - 2);// 设置标题的字体,字号,大小Font titleFont = new Font("宋体", Font.BOLD, 30);g2.setFont(titleFont);// 抗锯齿g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);// 计算文字长度,计算居中的X点坐标FontMetrics fm = g2.getFontMetrics(titleFont);int titleWidth = fm.stringWidth("测试");// 感觉不居中,向左移动35个单位int titleWidthX = (width - titleWidth) / 2;g2.drawString("测试", titleWidthX, 58);// 释放对象g2.dispose();// 保存图片 JPEG表示保存格式ImageIO.write(bi, "JPEG", new FileOutputStream("D:/a.jpg"));}
生成效果如下

效果还是很不错的
