Java小技巧-在图片上写数据(数据封装成图片返回给前端)

  //在内存中创建一副图片
BufferedImage image = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB);

//在图片上写数据
Graphics graphics = image.getGraphics();
graphics.setColor(Color.black);

//画一个宽80、高30的实心矩形刚好将图片遮盖
graphics.fillRect(0, 0, 80, 30);

//设置图片上字体的颜色及格式
graphics.setColor(Color.red);
graphics.setFont(new Font("宋体",Font.BOLD,20));

//将字体写入图片
String num = "hello world !!";
//将字符串保存到session中

request.getSession.setAttribute("checkcode",num); 

//写字符串,坐标是从基线为准
graphics.drawString(num, 0, 20);

//将图片输出给浏览器。参数分别为要写入的RenderedImage,包含格式非正式名称的String。将在其中写入数据的OutputStream.
ImageIO.write(image, "jpg", response.getOutputStream);

你可能感兴趣的:(Java)