【工具】前端JS/VUE修改图片分辨率
/*** 暂时用不到 直接修改图片width属性即可* @param blob* @param z最大宽度* @returns {Promise<unknown>}*/async y压缩图片分辨率(blob, z最大宽度) {// 获取图片 blob// 把 blob 转成 Image 对象const imageBitmap = await createImageBitmap(blob);let targetWidth = imageBitmap.width;let targetHeight = imageBitmap.height;if(targetWidth <= z最大宽度){console.info('图片宽度小于最大宽度,无需压缩')return blob}console.info('图片宽度大于最大宽度,需压缩', targetWidth)// 如果宽度大于1200,则按比例缩放const scale = z最大宽度 / targetWidth;targetWidth = z最大宽度;targetHeight = Math.round(imageBitmap.height * scale);// 创建 Canvas 绘制缩放后的图像const canvas = document.createElement("canvas");canvas.width = targetWidth;canvas.height = targetHeight;const ctx = canvas.getContext("2d");ctx.drawImage(imageBitmap, 0, 0, targetWidth, targetHeight);// 转换为新的 Blob (JPEG/PNG均可)const compressedBlob = await new Promise(resolve => {canvas.toBlob(resolve, "image/jpeg", 0.9); // 0.9 为质量,可调整});return compressedBlob;}