致力于图形处理和移动开发。
分类: 系统运维
2012-03-05 10:12:15
Anychart不仅可以生成各种类型的flash图表,而且还允许你将flash图表保存为PNG图像。AnyChart允许通过鼠标右击,选择"Save as Image"保存图表为图象。还可以服务器端自动生成报表。AnyChart是第一个支持此功能的产品!今天,我们就一起来看看AnyChart是如何将flash chart 保存为图像的。
注:你需要放置脚本在你的服务器上,并且还需要配置chart xml来设置你所需要的页面。
一、AnyChart保存为图像的原理当Anychart完成图表渲染后,它可以创建一个PNG图像,并将图像发送到服务器或者应用程序。PNG图像以64位编码方式发送,服务器对其解码并输出以响应解码流。
对于用户而言,通过鼠标右击,选择"Save as Image"保存图表为图象。AnyChart启动浏览器默认的 "Save As"对话框,用户就可以选择图片所要存储的地址。
设置保存图像脚本路径,你需要用到以下XML文件:
如果我们创建了PHP, J2EE, ASP (VBScript), VB.Net和C#等脚本,则可以在export_image_scripts文件夹中找到它们。
1、文件名
你可以利用file_name和use_title_as_file_name属性,设置保存时的自定义文件名。
2、图像大小
你可以设置导出图像的大小,不是缩放而是实际图像的大小(就好像你在JS中设置了宽度和高度一样)。如果你不设置图像大小属性,导出的图像就和原图像大小一样。
3、获取图像:getPNG()函数
anychart的getPNG()函数可返回带有png图像的base64编码的字符串。你可以通过这些字符串获取图像,并把字符串传到脚本。
注:getPNG函数有两个可选参数:宽度和高度。如果你想获取一个与其他图像大小不一样的的图像,你就可以设置这些参数。
4、获取矢量:getSVG()函数
anychart的getSVG()函数会返回一个带有SVG文件的字符串。你可以通过该字符串来获取一个矢量格式的截图,并将该截图传递给脚本。
二、自动保存图表
你可以在自动模式下保存图表。只要图表一显示,无需点击任何图表或按钮,图表便可保存为图片。要实现该功能,你需要创建一个draw event 的事件处理程序,调用将生成PNG 或者 JPEG 图像的 SaveAsImage Function。
三、保存和解码服务器脚本
1、PHP Save As Script
将AnyChartPNGSaver.php文件放在你网站的根文件夹:
2、ASP Save As Script
将AnyChartPNGSaver.asp文件放在你网站的根文件夹:
3、VB.NET Save As Script
将AnyChartPNGSaver.aspx文件放在网站的根文件夹:
4、C# Save As Script
将AnyChartPNGSaver.aspx文件放在网站的根文件夹:
5、JSP Save As Script
将AnyChartPNGSaver.jsp文件放在网站的根文件夹:
下载anychart试用版: