为了解决 使用html2Canvas生成图片时,img图片无法正常显示 原因是:图片跨域问题,将图片地址转换为base64
//将图片转换为base64格式
function getBase64Image(img) {
const canvas = document.createElement('canvas')
canvas.width = img.width
canvas.height = img.height
const ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, img.width, img.height)
const dataURL = canvas.toDataURL('image/png') // 可选其他值 image/jpeg
return dataURL
}
//处理图片跨域
function handleImg(src) {
const image = new Image()
image.crossOrigin = '*' // 必须在image之前赋值
image.src = src + '?v=' + Math.random() // 处理缓存
image.onload = function () {
const base64 = getBase64Image(image)
//img标签的src赋值
imgUrl.value = base64
}
}