vue html2canvas生成图片
exportAsBase64() {
const ele = document.getElementById('content');
html2canvas(ele, {
dpi: 96, // 分辨率
scale: 2, // 设置缩放
useCORS: true, // 允许canvas画布内跨域请求外部链接图片
bgcolor: '#ffffff', // 背景颜色
logging: false, // 不打印日志
allowTaint: true, // 允许跨域
scrollY: 0,
scrollX: 0
}).then((canvas) => {
// 使用canvas的toDataURL方法将canvas转换为Base64图片
const base64Image = canvas.toDataURL('image/png'); // 你可以根据需要更改'image/png'为'image/jpeg'等
// 在这里你可以对base64Image做进一步处理,比如将其赋值给img元素的src,或者发送到服务器等
console.log(base64Image); // 打印Base64图片数据到控制台
})
.catch((error) => {
console.error('导出图片失败:', error);
});
},
加上异步 和 base64图片高度
async exportAsBase64() {
try {
const ele = document.getElementById('content');
ele.style.height = '1000px';
ele.style.overflow = 'hidden';
const canvas = await html2canvas(ele, {
dpi: 96,
scale: 2,
useCORS: true,
bgcolor: '#ffffff',
logging: false,
allowTaint: true,
scrollY: 0,
scrollX: 0
});
const base64Image = canvas.toDataURL('image/png');
ele.style.height = '';
ele.style.overflow = '';
return await this.uploadImg(base64Image)
} catch (error) {
console.error('导出图片失败:', error);
return ''
}
},