1
tititake 2014-11-30 23:23:43 +08:00 via Android 1
一定要后端生成?
如果只是做页面展示的话,建议用js框架来做。 |
2
spance 2014-11-30 23:31:29 +08:00
低级点的,先从JFreeChart对象拿到Graphics2D,render到BufferedImage
然后这就是个2D画布了,你随便画吧,那几个矩形放点文字应该不难了吧。 |
4
tititake 2014-12-01 09:41:55 +08:00 1
@thinkmore 这里看看有没有例子可以用吧 http://www.java2s.com/Code/Java/Chart/CatalogChart.htm
|
5
thinkmore OP @spance 但是如何拿到Graphics2D对象呢?JFreeChart没有对应的方法呀!而且的话饼图好像是没有render的!能不能给个小Demo呢?
|
6
spance 2014-12-01 10:45:26 +08:00 1
BufferedImage img = chart.createBufferedImage(400, 400);
Graphics2D g2d = (Graphics2D) img.getGraphics(); // g2d.drawPolyline(....); ImageIO.write(img, "png", new File("chart.png")); |
7
thinkmore OP @spance 但是如果使用这个的话要嫁接到原有的图形上面是相当复杂的吧?时候存在直接操作的方式呢?比如说改变输出框的大小呀?从图形上支出来的那个框框难道是写死了的呢吗?能不能加下你的麻花藤:353003874,thanks
|
8
spance 2014-12-01 11:16:27 +08:00
BufferedImage img 就是渲染后的图像了,通过它的Graphics接口可以做很多低层操作,自己画的东西的建议不要太复杂,否则会牵扯很多的东西,尤其像字体测量,什么基线,偏移,行高啊等等会很复杂了。你不就是要在右面画几个框框么?drawRect不能满足你吗?自己算好x,y,w,h不就是你的结果么
|