var img = document.getElementById("img") //获取图片元素
console.log(img.clientWidth, img.clientHeight)
var canvas = document.createElement("canvas") //建立画布
canvas.width = img.clientWidth / 2 //压缩一半
canvas.height = img.clientHeight / 2 //压缩一半
canvas.style.background = "#ccc"
document.getElementsByTagName("body")[0].append(canvas)
console.log(canvas)
ctx = canvas.getContext("2d")
ctx.drawImage(img, 0, 0, img.clientWidth / 2, img.clientHeight / 2)
var base_64 = canvas.toDataURL("image/jpeg") //base64
console.log(base_64)
function base64ToFile(dataurl,filename) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {
type: mime
});
}
var url = base64ToFile(base_64,"1.jpg")
console.log(url)
微信小程序图片压缩一半同时通过canvas导出为base64格式
最新推荐文章于 2023-09-09 16:17:04 发布