问题背景:项目使用的是Anychart图表组件,渲染出来的图是Flash的,往往一个页面有时候会有多个flash图,而需求是让我们做一个打印预览和打印功能,让多个Flash图在一个页面上打印出来。
那么我们打印预览的思路是获取页面的body元素,然后在打印预览界面通过$("body").append(html)的形式显示预览效果,结果让人大跌眼镜:Flash是有的,但是一直在提醒“waiting for data”,不显示图。
分析原因:我们抓取了body内的html元素,发现是有出Flash的标签的,页面能显示无图形的FLash,但是Anychart在显示Flash之后还会将图数据调用某个方法才会出真正的图形。
那么如何解决打印预览没有图形的问题呢,我们最初是考虑在打印预览重新用new AnyChart(xml)的形式出真正的Flash,但是这种开发代价是很高的,因为打印预览是一个公共组件,我们不可能为了一个Flash图表做专项开发,还有可能造成更多的BUG。
后来在查看Anychart官方文档的时候,偶然看到这样一个内容“Saving chart as image or vector file”,中间有一段这样的内容:anychart的getPNG()函数可返回带有png图像的base64编码的字符串。你可以通过这些字符串获取图像,并把字符串传到脚本。
去网上搜了下base64编码,发现可以通过IMG标签的SRC传入base64字符串就能出PNG图形,于是乎我这样测试了一下,发现通过这样的方式果断出现了HTML格式的图。
var base64 = chart.getPNG(); $("#img").append("<img src='data:image/gif;base64,"+base64 +"'>");
注:IE7及更早浏览器版本不支持base64,即在这些浏览器下图片依然是一个小红X!
IE8虽然一定程度支持base64,但是如果base64字符串过长也无法显示。
相关推荐
AnyChart是一个基于HTML5的图表库,它支持多种图表类型,如柱状图、折线图、饼图、散点图、热力图等。它提供了一套完整的API,允许开发者自定义图表的每个细节,包括颜色、形状、数据源、交互行为等。此外,AnyChart...
Android-AnyChart-Android.zip,安卓图表是一个令人惊叹的数据可视化库,可以在安卓应用程序中轻松创建交互式图表。它运行在api 19 (android 4.4)上,具有数十种内置图表类型。,安卓系统是谷歌在2008年设计和制造的...
本资源包含多款基于Flash的统计图动画,包括柱形图、圆饼图和折线图,这些都是数据分析和展示中常见的图表类型。以下是这些图表的相关知识点: 1. Flash统计图:Flash是一种交互式矢量图形和多媒体平台,它允许开发...
2. **丰富的图表类型**:Open Flash Chart支持多种图表类型,如折线图、柱状图、饼图、散点图、面积图、甘特图等,能满足各种数据分析和展示的需求。 3. **高度可定制**:开发者可以通过调整各种参数来改变图表的...
作品名称:Axure数据可视化图表组件库 作品类型:组件类 主要适用:Web端 软件版本:Axure 8.0 一套数据可视化图表通用组件库,主要由Antv静态图表、Axhub动态图表、地图组件素材三部分内容组成,其中包含了几十种...
shotgraph图表组件 This software is shareware, but you can copy and use the unregistered version for free (for non-commercial usage only). The free (unregistered) copy of ShotGraph has the following ...
Flash图表组件则是基于Flash技术的专门用于数据可视化的工具,它可以生成包括折线图、柱状图、饼图等多种类型的图表,帮助用户直观地理解复杂的数据。 折线图是用于显示趋势和变化的一种图表类型,特别适合于表示随...
AnyChart提供了许多种基本类型的图表,包括折线图、散点图、堆积图、饼状图和圆圈图、气泡图、锥形图和漏斗图、热区图、雷达图、极性图等。每种图表都有其共性,基本上都有轴,有序列,能够设置轴的一些属性,能够...
在本案例中,我们关注的是如何使用Anychart自动保存生成的Flash图片到指定的目录下。这个功能对于那些需要定期记录或备份图表数据的用户来说非常有用。 首先,我们需要了解Anychart的基本用法。Anychart提供了...
在某些场景下,我们可能需要将AnyChart生成的图表保存为图片,以便于分享或离线使用。本篇文章将详细讲解如何利用C#调用AnyChart的自动另存为图片功能。 首先,理解这个过程的核心在于交互:C#作为服务器端的编程...
1. **图表类型**:支持线图、柱状图、饼图、散点图、雷达图等多种常见图表类型,同时允许开发者自定义复杂图表。 2. **响应式设计**:F2-Canvas自动适应不同设备的屏幕尺寸,确保图表在各种设备上都能保持良好的显示...
组件方式开发 Web App全站\第04章 图表组件-散点图组件开发
《使用Open-Flash-Chart创建动态统计图》 在数据可视化领域,Open-Flash-Chart是一个备受推崇的库,尤其适合生成具有动态效果的统计图表。这个库利用Flash技术,结合简单的配置文件或编程接口,可以轻松创建出美观...
标题中的“适合uni-app使用的echarts图表组件,开箱即用!”表明这是一个专门为uni-app框架设计的ECharts图形库组件,旨在简化在uni-app中集成数据可视化的过程。uni-app是一个跨平台的前端开发框架,允许开发者用...
本实例在IE6、IE7、IE8、Chrome、Firefox测试通过,在实际项目使用中,对可能出现的问题,尤其在IE6中无法显示flash图表,本人特撰写《Flash图表组件——使用Open Flash Chart 2.0的一些问题及解决办法》,具体访问...
全新开发的统计图表组件--ibqsChart,使用简单,功能强大,制作统计图效果极佳。 本组件支持多种样式图表,包括柱型图、横柱型图、曲线图、饼图、点图、区域图、雷达图。 组件图表提供两种输出接口,包括保存,...
带交互的数据图表组件,包含折线图、柱状图、堆叠柱状图、条形图、堆叠条形图、面积图、饼图、环形图、漏斗图、甘特图、散点图。支持修改数据、背景和相关交互样式 带交互的数据图表组件,包含折线图、柱状图、堆叠...
LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 -...
下面将详细探讨这些图表组件的特性和使用方法。 1. **柱状图**(Bar Chart) 柱状图是数据可视化中常见的一种形式,适用于比较不同类别的数据大小。`wxchart` 的柱状图组件支持单轴和双轴模式,可以显示多个数据...