我有一个 1000px x 750px 的图像。
我使用 lovell/sharp 来调整它的大小:
await sharp(image)
.resize({
fit: sharp.fit.contain,
width: 800,
height: 800
})
.jpeg({ quality: 80 })
.toBuffer()
这会生成一个 800 像素 x 800 像素的新图像,原始图像“包含”在该区域内。
我真正想要的是最终图像为 800 像素 x 600 像素。 IOW,调整图像大小并保持纵横比。
我意识到可以通过仅指定宽度来做到这一点。然而,有一个边界框来包含调整大小的图像是很有用的,以避免创建大于特定高度的图像。
我可以用不同的设置清晰地做到这一点吗?
原文由 user1031947 发布,翻译遵循 CC BY-SA 4.0 许可协议
保留
width
或height
以便 Sharp 保持比率低于高度将在调整大小时保持其比例;