【发布时间】:2018-02-24 02:14:54
【问题描述】:
我正在使用 node.js 和 sharp 来调整我的用户上传的图像的大小。它们总是模糊的。我不知道为什么。这是我的代码:
var sharp = require("sharp");
sharp(file.path)
.resize(width, height).max()
.toFormat('png')
.toBuffer(next);
...
调整大小的图像模糊。我错过了什么?
顺便说一句,我正在将较大的图像缩小为较小的尺寸。 width 和 height 与原始大小成正比。例如,如果原始尺寸为 600x300,则 width 和 height 为 300x150。因此,错误计算宽度和高度绝对不是问题。我也使用 imageMagick 尝试过同样的事情并且遇到了同样的问题。我总是得到一个调整大小的图像,但它非常模糊。
【问题讨论】:
-
您是否缩小了一半以上?如果是,请逐步将图像大小减半,直到接近最终大小,然后执行最后一步以完成工作。
-
感谢您的建议。我刚刚这样做了,图像仍然模糊,尽管它们比以前不那么模糊了。
-
不要重复调整大小。 Sharp 和 IM 已经使用了高质量的自适应缩小器 (lanczos3) --- 重复缩小尺寸会降低质量并变慢。
-
你能举一个输出不好的例子吗?如果您只是想让缩小的图像“弹出”一点,请尝试在管道末尾添加一个额外的
.sharpen()步骤:sharp.dimens.io/en/stable/api-operation/#sharpen