// 延迟绘制以确保 DOM 更新完成
setTimeout(() => {
const ctx = uni.createCanvasContext(this.canvasId, this);
// 强制清除 Canvas 并填充白色背景
ctx.clearRect(0, 0, width, height);
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, width, height);
// 绘制图片到 Canvas
ctx.drawImage(info.path, 0, 0, width, height);
// 等待 Canvas 绘制完成
ctx.draw(false, () => {
// 再次延迟确保 Canvas 绘制完成
setTimeout(() => {
uni.canvasToTempFilePath({
x: 0,
y: 0,
width: width,
height: height,
destWidth: width,
destHeight: height,
canvasId: this.canvasId,
fileType: params.fileType || 'jpg',
quality: params.quality || 0.8,
success: (res) => {
console.log('压缩后的图片路径:', res.tempFilePath);
resolve(res.tempFilePath);
},
fail: (err) => {
console.log('图片转换失败:', err);
reject(err);
}
}, this);
}, 1500); // 延迟时间增加到 1.5 秒
});
}, 300); /
6***@qq.com
- 发布:2024-09-06 11:30
- 更新:2024-09-06 16:33
- 阅读:166
2 个回复
6***@qq.com (作者)
iOS 真机,压缩相机拍照的图片会生成纯白图片,压缩相册的图片正常
6***@qq.com (作者)
弄好了