Chinaunix首页 | 论坛 | 博客
  • 博客访问: 397842
  • 博文数量: 159
  • 博客积分: 372
  • 博客等级: 一等列兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-13 17:05
个人简介

致力于图形处理和移动开发。

文章分类

全部博文(159)

文章存档

2014年(77)

2013年(67)

2012年(15)

我的朋友

分类: 系统运维

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试用版:



阅读(1244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~