Cropper裁剪后图片变模糊怎么办?
我在用 Vue + Cropper.js 做头像上传裁剪功能,裁剪完的图片导出后特别糊,明明原图很清晰。是不是我哪里参数没配对?
已经试过设置 quality: 1 和 imageSmoothingEnabled: true,但还是糊。导出时用的是 getCroppedCanvas() 方法。
<template>
<div>
<img ref="image" :src="imageUrl" alt="crop" />
<button @click="getCropData">裁剪</button>
</div>
</template>
<script>
export default {
methods: {
getCropData() {
const canvas = this.cropper.getCroppedCanvas();
console.log(canvas.toDataURL('image/jpeg', 1.0));
}
}
}
</script>
getCroppedCanvas()传尺寸参数,它默认按容器显示尺寸输出,而不是原图的实际像素。最简单的办法,直接指定输出尺寸:或者想保持原图裁剪区域的实际尺寸,就别限制宽高,让它自然输出,但初始化 Cropper 时记得配好
viewMode: 1或viewMode: 2,不然裁剪框可能跑飞。