在按钮中直接这么调用就行
this.getImage(‘png’)//或则jpeg。
getImage(imgType) {
var myChart = echarts.getInstanceByDom(
document.getElementById('echartsId')
)
var url = myChart.getConnectedDataURL({
pixelRatio: 2, //导出的图片分辨率比率,默认是1
backgroundColor: '#fff', //图表背景色
excludeComponents: [
//保存图表时忽略的工具组件,默认忽略工具栏
'toolbox',
],
type: imgType, //图片类型支持png和jpeg
})
var $a = document.createElement('a')
var type = imgType
$a.download = myChart.getOption().title[0].text + '.' + type
$a.target = '_blank'
$a.href = url
// Chrome and Firefox
if (typeof MouseEvent === 'function') {
var evt = new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: false,
})
$a.dispatchEvent(evt)
}
// IE
else {
var base64 = {
dataURL: url,
type: imgType,
ext: imgType,
}
var blob = this.convertBase64UrlToBlob(base64)
// 下载
window.navigator.msSaveBlob(
blob,
myChart.getOption().title[0].text + '.' + imgType
)
}
},
convertBase64UrlToBlob(base64) {
var parts = base64.dataURL.split(';base64,')
var contentType = parts[0].split(':')[1]
var raw = window.atob(parts[1])
var rawLength = raw.length
var uInt8Array = new Uint8Array(rawLength)
for (var i = 0; i < rawLength; i++) {
uInt8Array[i] = raw.charCodeAt(i)
}
return new Blob([uInt8Array], { type: contentType })
},