使用echarts自带的工具
echarts工具栏组件中有自带的图片下载功能,我们只需要在option中进行相关配置,就可以默认在右上角生成一个下载图标,进行下载。
配置如下:
toolbox: {
show: true,
feature: {
saveAsImage: {
show: true,
excludeComponents: ['toolbox'],
pixelRatio: 2
}
}
}
自定义按钮下载
通过上述方式进行配置不满足项目所需求的功能,因此我们可以自定义按钮来实现。
Export() {
let img = new Image();
img.src = this.myChart.getDataURL({
type: "png",
pixelRatio: 1,
backgroundColor: '#fff'
});
img.onload = () => {
let canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
let ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
let dataURL = canvas.toDataURL('image/png');
let a = document.createElement('a');
let event = new MouseEvent('click');
a.download = '图片.png' || '下载图片名称';
a.href = dataURL;
a.dispatchEvent(event);
}
}