// h5压缩图片的方法
getH5CompressImage(src, callback) {
uni.getImageInfo({
src,
success: res => {
let canvasWidth = res.width; //图片原始长宽
let canvasHeight = res.height;
let img = new Image();
img.src = res.path;
let canvas = document.createElement("canvas");
let ctx = canvas.getContext("2d");
canvas.width = canvasWidth / 2;
canvas.height = canvasHeight / 2;
ctx.drawImage(img, 0, 0, canvasWidth / 2, canvasHeight / 2);
canvas.toBlob(fileSrc => {
let imgSrc = window.URL.createObjectURL(fileSrc)
uni.getFileInfo({
filePath: imgSrc,
success: (resFileInfo) => {
// console.log('size:', resFileInfo.size);
if (resFileInfo.size > 450 * 1024) {
this.getH5CompressImage(imgSrc, callback);
return;
} else {
// console.log('imgSrc', imgSrc);
callback && callback(imgSrc)
//小于就转化base64
// // let resultBase64 = canvas.toDataURL("image/png")
// callback && callback(!isReturnBase64 ?
// resultBase64 : imgSrc)
}
},
});
})
}
})
},
uniapp H5端递归压缩图片的方法
最新推荐文章于 2024-05-16 22:46:58 发布