| | |
| | | |
| | | |
| | | /** |
| | | * 学习报告学习时间分布图生成类utils |
| | | * 学习报告学习时间分布图生成类utils |
| | | * @author xiadehu |
| | | * |
| | | */ |
| | |
| | | |
| | | /** |
| | | * |
| | | * @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; |
| | |
| | | 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)); |
| | | } |
| | |
| | | circle.setFrameFromCenter(centerX, centerY, centerX + 5, centerY+ 5); |
| | | g2d.fill(circle); |
| | | |
| | | //释放 |
| | | //释放 |
| | | g2d.dispose(); |
| | | |
| | | return image; |
| | |
| | | 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); |
| | | } |
| | | |