派生自 projectDept/qhighschool

EricsHu
2023-11-23 bef4f6d51bff03c0512a75f43e79699b7296f1fa
src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java
@@ -12,7 +12,7 @@
/**
 * 学习报告学习时间分布图生成类utils
 * 学习报告学习时间分布图生成类utils
 * @author xiadehu
 *
 */
@@ -20,24 +20,24 @@
   /**
    * 
    * @param width 图片宽度
    * @param height 图片高度
    * @param startHour1 开始小时1
    * @param text1 显示文本1
    * @param startHour2 开始小时2
    * @param text2 显示文本2
    * @return BufferedImage 对象
    * @param width 图片宽度
    * @param height 图片高度
    * @param startHour1 开始小时1
    * @param text1 显示文本1
    * @param startHour2 开始小时2
    * @param text2 显示文本2
    * @return BufferedImage 对象
    */
   public static BufferedImage drawPng(int width,int height,List<Map<String,Object>> times){
      
      //初始化画布
      //初始化画布
      BufferedImage image = new BufferedImage(width, height,     BufferedImage.TYPE_INT_RGB);
      Graphics2D g2d = image.createGraphics();
      image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
      g2d.dispose();
      g2d = image.createGraphics();
       
      //背景
      //背景
      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
      g2d.setColor(new Color(248,197,116));
      double centerX = width/2;
@@ -48,7 +48,7 @@
      g2d.draw(circle);
      g2d.fill(circle);
      
      //绘制时间文字
      //绘制时间文字
      for(Map<String,Object> time:times){
         drawStudyTimeArc(width, height, (Integer)time.get("timeFrom"),(Integer)time.get("timeTo"), g2d,new Color(255,255,255));
      }
@@ -66,7 +66,7 @@
      circle.setFrameFromCenter(centerX, centerY, centerX + 5, centerY+ 5);
      g2d.fill(circle);
      
      //释放
      //释放
      g2d.dispose();
       
      return image;
@@ -92,7 +92,7 @@
      float x = x1+width/2;
      float y1=(float)(adjustRadius(startHour1,width)/2.0d*cos);
      float y = height/2-y1;
      g2d.setFont(new Font("宋体", Font.PLAIN, 12));
      g2d.setFont(new Font("宋体", Font.PLAIN, 12));
      g2d.drawString(text1, x, y);
   }