highchart不依赖插件的图表导出

关键步骤:

1.获取svg,并转化为base64编码;

var svg = $(‘.highcharts-container‘).html();var image = new Image();//将svg通过base64编码转为图片对象image.src = ‘data:image/svg+xml;base64,‘ + window.btoa(unescape(encodeURIComponent(svg)));

2.通过canvas转为图片并下载;

var context = canvas.getContext(‘2d‘);  //取得画布的2d绘图上下文context.drawImage(image, 0, 0);
var a = document.createElement(‘a‘);a.href = canvas.toDataURL(‘image/png‘);  //将画布内的信息导出为png图片数据a.download = "MapByMathArtSys";  //设定下载名称

注:图片图标在图表中仍然是原格式,所以不会被转化。需要单独在canvas中绘制;eg:
var icon = new Image();icon.src=$(".highcharts-container svg image").attr("href");//计算图标的位置var icon_x=parseFloat($(".highcharts-container svg image").attr("x"))+parseFloat($(".highcharts-plot-background").attr("x"))-parseFloat(icon.width)/2;var icon_y=parseFloat($(".highcharts-container svg image").attr("y"))+parseFloat($(".highcharts-plot-background").attr("y"))-parseFloat(icon.height)/2;
context.drawImage(icon, icon_x, icon_y);
时间: 2024-12-29 05:27:43

highchart不依赖插件的图表导出的相关文章

Jxl、JxCell图表导出功能的实现

最近接触过许多报表导出功能,也用过多种工具进行导出功能的实现,但对于图表的导出一直没有仔细的去展开研究和探讨,直到最近略微整理了下这方面的需求和技术攻克. 首先导出excel功能的实现主要有JXL.JXCELL.POI等工具.目前只实现了JXL和JXCELL. JXL: 先介绍下JXL: jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好

在asp.net中如何自己编写highcharts图表导出到自己的服务器上来

1.准备工作:网上下载highcharts导出的关键dll.      1).Svg.dll:因为highcharts的格式其实就是一个xml,采用svg的方式画图:      2).itextsharp.dll:这样主要是用于处理和提取highcharts图表内的文字以及编码问题: 2.创建一个简单asp.net项目,并把上述两个程序集引入到项目中,OK.3.给出页面代码: <%@ Page Language="C#" AutoEventWireup="true&qu

Saiku图表导出时中文显示问题的解决方法

Saiku图表导出时png,jpg,pdf三种格式的中文显示都有问题,目前找到一种不太完善的解决方法(中文可以显示但不清晰),需要修改Saiku项目下的ExporterResource.java文件,同时需要在项目Linux环境中安装中文字体,完成后重启项目即可. 后续找到更好的解决方案时会更新此文或者给出新文章地址. Linux环境中安装中文字体请参考:http://blog.163.com/[email protected]/blog/static/136739312201474421492

进一步封装highchart,打造自己的图表插件:jHighChart.js

Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表.支持的图表类型有曲线图.区域图.柱状图.饼状图.散状点图和综合图表.但是参考官网的实例,我发现如果在项目中频繁使用highchart,按照它的方式还是挺复杂的,我这里所谓的复杂并不是难而是麻烦,因为你每写一个图表你就必须重新写类似于下面结构的javascript代码: $('#container').highcharts({ title: { text: 'M

表单依赖插件处理

这一章比较简单哦,主要就是生产表单元素后的一些后续处理操作,比如日期插件的渲染.一些autocomplete的处理等,在回调里面处理就可以了, demo: $("input.date-picker").datepicker({ format: 'yyyy-MM-dd', autoclose: true }).next("span.input-group-btn").bind("click", function () { $(this).prev(

highchart宽度自适应的问题-图表压缩到一起

之前有个项目用到highchart展示图表.由于图比较多,便做了一个可以根据需要使图进行自动伸展和收缩的按钮,当点击收缩时,图slideup收缩起来. 这个时候出现了一个问题,当图收缩后,再展示的时候,highchart生成的图变形了....oh mygod~~~ 我们来一起思考一下,变形的表象是什么? 审查元素可知,是宽度小了.宽度小了,图里面的元素挤压到了一起,形成了一个小块,模糊不清. 变形的本质是什么? 搜索highchart的配置相关文档(可见http://www.helloweba.

【01】Maven依赖插件之maven-dependency-plugin

一.插件目标(goal) 1.analyze:分析项目依赖,确定哪些是已使用已声明的,哪些是已使用未声明的,哪些是未使用已声明的 2.analyze-dep-mgt:分析项目依赖,列出已解析的依赖项与dependencyManagement中定义的依赖项不匹配的部分 3.analyze-report:生成项目报告 4.analyze-duplicate:分析pom.xml中的<dependencies/>和<dependencyManagement/>标记,确定重复声明的依赖项 5

百度开源项目插件 - Echarts 图表

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>ECharts</title> <script src="../../res

Java 实现 FusionCharts 图表导出图片或PDF文件功能

第一步:引入FusionCharts文件,使用的版本为:FusionCharts 3.2.1(额,共享版,你懂的,后续提供下载链接)支持正版,官网地址:http://www.fusioncharts.com/ 第二步:引入fcexporter.jar包(图片导出功能库),并在web.xml文件中配置以下代码 <servlet> <display-name>FCExporter</display-name> <servlet-name>FCExporter&l