彩票走势图

揭秘AnyChart如何将flash chart 保存为图像

原创|其它|编辑:郝浩|2012-03-02 03:14:25.000|阅读 1242 次

概述:Anychart不仅可以生成各种类型的flash图表,而且还允许你将flash图表保存为PNG图像。AnyChart允许通过鼠标右击,选择"Save as Image"保存图表为图象。还可以服务器端自动生成报表。AnyChart是第一个支持此功能的产品!今天,我们就一起来看看AnyChart是如何将flash chart 保存为图像的。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  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文件:

  <?xml version="1.0" encoding="UTF-8"?>

   <anychart>

   <settings>
<image_export url="//localhost/saveasimage/AnyChartPNGSaver.php" />

   </settings>

   </anychart>

  如果我们创建了PHP, J2EE, ASP (VBScript), VB.Net和C#等脚本,则可以在export_image_scripts文件夹中找到它们。

  1、文件名

  你可以利用file_name和use_title_as_file_name属性,设置保存时的自定义文件名。

  <?xml version="1.0" encoding="UTF-8"?>

   <anychart>

   <settings>

   <image_export url="//localhost/saveasimage/AnyChartPNGSaver.php" file_name="weekly_report" use_title_as_file_name="true" />

   </settings>

   </anychart>

  2、图像大小

  你可以设置导出图像的大小,不是缩放而是实际图像的大小(就好像你在JS中设置了宽度和高度一样)。如果你不设置图像大小属性,导出的图像就和原图像大小一样。

  <?xml version=&quot;1.0" encoding="UTF-8"?>

   <anychart>

   <settings>

   <image_export url=&quot;//localhost/saveasimage/AnyChartPNGSaver.php" width="1024" height="800" />

   </settings>

   </anychart>

  3、获取图像:getPNG()函数

  anychart的getPNG()函数可返回带有png图像的base64编码的字符串。你可以通过这些字符串获取图像,并把字符串传到脚本。

   <script type="text/javascript" language="javascript">
//<![CDATA[
AnyChart.renderingType = anychart.RenderingType.FLASH_ONLY;
var chart = new AnyChart('./swf/AnyChart.swf');
chart.width = 700;
chart.height = 300;
chart.setXMLFile('./anychart.xml');
chart.write();

function getPNGImage()
{
pngImage=chart.getPNG();
}

   //]]>
</script>

  注:getPNG函数有两个可选参数:宽度和高度。如果你想获取一个与其他图像大小不一样的的图像,你就可以设置这些参数。

  4、获取矢量:getSVG()函数

  anychart的getSVG()函数会返回一个带有SVG文件的字符串。你可以通过该字符串来获取一个矢量格式的截图,并将该截图传递给脚本。

  <script type="text/javascript" language="javascript">
//<![CDATA[
AnyChart.renderingType = anychart.RenderingType.SVG_ONLY;
var chart = new AnyChart();
chart.width = 700;
chart.height = 300;
chart.setXMLFile('./anychart.xml');
chart.write();

function getPlainSVG()
{
return chart.getSVG(false);
}

function getSVGAsBase64EncodedString()
{
pngImage=chart.getSVG(true);
}
//]]>
</script>

  二、自动保存图表

  你可以在自动模式下保存图表。只要图表一显示,无需点击任何图表或按钮,图表便可保存为图片。要实现该功能,你需要创建一个draw event 的事件处理程序,调用将生成PNG 或者 JPEG 图像的 SaveAsImage Function。

  <script type="text/javascript" language="javascript">
AnyChart.renderingType = anychart.RenderingType.FLASH_ONLY;
var chart = new AnyChart();
chart.setXMLFile("data.xml");
chart.addEventListener("draw", function() {
saveChartAsImage(chart);
});
chart.write("chart_container");

  </script>

  三、保存和解码服务器脚本

  1、PHP Save As Script

  将AnyChartPNGSaver.php文件放在你网站的根文件夹:

   &lt;?xml version="1.0" encoding="UTF-8"?>

   <anychart>

   <settings>

   &lt;image_export url="//localhost/AnyChartPNGSaver.php" />

   </settings>

   </anychart>

  2、ASP Save As Script

  将AnyChartPNGSaver.asp文件放在你网站的根文件夹:

   <;?xml version="1.0" encoding=";UTF-8"?>

   <anychart>

   <settings>

   <image_export url="//localhost/AnyChartPNGSaver.asp" />

   </settings>

   </anychart>

  3、VB.NET Save As Script

  将AnyChartPNGSaver.aspx文件放在网站的根文件夹:

  <?xml version="1.0" encoding="UTF-8";?>

  <anychart>

   <settings>

   <image_export url="//localhost/AnyChartPNGSaver.aspx" />

   </settings>

  </anychart>

  4、C# Save As Script

   将AnyChartPNGSaver.aspx文件放在网站的根文件夹:

  <?xml version=";1.0" encoding="UTF-8"?>

   <anychart>

   <settings>

   <;image_export url="//localhost/AnyChartPNGSaver.aspx" />

   </settings>

  </anychart>

  5、JSP Save As Script

  将AnyChartPNGSaver.jsp文件放在网站的根文件夹:

   &lt;?xml version="1.0&quot; encoding="UTF-8"?>

   <anychart>

   <settings>

   &lt;image_export url="//localhost/AnyChartPNGSaver.jsp" />

   </settings>

   </anychart>

下载anychart试用版://pclwef.cn/zh-CN/product/1009/feature.aspx



(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP