在浏览器或临时图像上呈现图像?
我想做一个统计页面,它将显示几个数据和图表。
图表需要是图片,以便用户可以将其保存/拖放到他/她的个人报告中。在浏览器或临时图像上呈现图像?
我使用Gruff Graphs for Ruby生成图表,但我不知道显示结果安全和受保护的最佳方式。
我的一些想法/尝试的是:
图表保存到一个文件(JPG,PNG)? 问题:数据是提供给任何人(没有获得cron的,从时间删除数据时)
呈现在浏览器(必须在IE浏览器)?
使用JavaScript(Raphaël-JavaScript Library)或Google API并输出PDF报告(需要插件或宝石,右)?
使用send_data? 我试图输出其他方式比内联,因为我需要显示其他数据,这可能吗?
感谢您的任何帮助。
虽然很烦人,但您可以随时剪掉旧条目作为生成过程的一部分。如果你没有像cron这样的后台工作工具,这实际上只是你需要做的事情。根据文件“修改时间”进行检查通常是最好的方法,但这也会影响到旧的图像链接。
基于画布的方法明显优于服务器生成的图像。例如,使用诸如Flot之类的内容来构建基于画布的图形,并在需要IE兼容性的情况下包括explorercanvas。
我目前正在做同样的事情,并正在研究粗糙做我的图表的服务器端生成。
我粗暴地在我的控制器中生成图像,并将图像写入我的公共图像目录,然后直接链接到我的视图中的图像。
也就是说,图表是静态图像,我想要更动态的东西。
所以,我结束了使用Highcharts jQuery插件(http://www.highcharts.com/)在视图端生成我的图表。 (好得多!)
我只是让我的控制器将我的数组数据传递给视图,并让图表绘制客户端,它更好,并且具有我的客户端也可以使用Google的所有功能,而无需绑定到Google的API和Flash。
当然所有的意见! :)
我已经使用粗鲁,它是非常慢,并消耗存储器的一个lor,如果你不改变这样的焦点这是一个好主意,使用粗鲁与一些缓存,你可以做页面缓存或片段缓存http://guides.rubyonrails.org/caching_with_rails.htm,但我会推荐你使用谷歌API,有一个简化作业的宝石,http://rubygems.org/gems/googlecharts。如果你需要用户下载图表,我认为用graphael或其他图表制作图表不是一个好主意。
感谢所有的投入。
我想我会使用谷歌图表直的图像源标签或创业板。
再次感谢您的帮助。