项目中需要将echarts的动态柱状图导出为gif,刚开始用html2canvas和gif.js,但是html2canvas生成canvas时严重卡顿。
所以又换思路,尝试用echarts的getDataURL,将获取的base64存为一个数组,然后用gifshot.js将这些图片合为gif,得到了下面的效果
代码如下:
ps1:这段代码只是写了一个demo,测试了一下思路是否可行,实际项目中要考虑执行顺序(timeout,gifshot.createGIF合成gif),截取多长时间,截取多少张图,多久截取一次。。。。
ps2:需要用到gifshot.js,import gifshot from "gifshot";
ps3:用gifshot.js代替gif.js,是因为gif.js没有找到npm包,且年代有点久远。。。