ECharts 2.0 实现下载全图功能

背景

Q:ECharts 的toolbox 带有保存图片功能,为啥还要自己在实现一个呢?

A:ECharts 本身提供的 toolbox.feature.saveAsImage 功能自能下载当前可视区域内的内容 如果将缩小后,图片内容会比较小。

解决方案

直接上代码

解决思路

因为是canvas绘图,内部肯定有一个存储原始坐标的位置(storage)。
所以,找到(storage),在找出绘图的边界左边,将canvas 画布放大,进行绘制,同时偏移我们的起始坐标。
这样我们就等到一个完整绘制的canvas,之后,进行我们的就可以调用canvas的 toDataURL。
完成图像输出后,记得将canvas 画布重置起成原始大小。
over