保存canvas图标到本地
this.saveImage.onclick = () => {
// 1.获取canvas元素
const canvas = document.querySelector('canvas')
// 2. 参数 {type: 图片格式, encoderOptions: 图片质量} 返回包含图片展示的dataURl 格式: data:[<mediatype>][;base64],<data>
const image = canvas.toDataURL("image/jpeg")
// 3. 创建a标签
var aNode = document.createElement('a');
// 4. 添加href属性 为image
aNode.setAttribute("href", image);
// 5.添加download属性 下载图片
aNode.setAttribute("download", "");
// 6.
aNode.click();
}
这样直接下载的图片,可能会出现背景是黑色,,因为背景默认是透明色,图片看起来并不好看,我做的项目是一个饼状图,通过echarts
,这里面有个背景颜色的配置,设置成白色backgroundColor: '#fff'
,即可.canvas的画可以添加一个填充颜色fillStyle