use*_*947 7 javascript node.js sharp
我有一个 1000 像素 x 750 像素的图像。
我使用 lovell/sharp 来调整它的大小:
await sharp(image)
.resize({
fit: sharp.fit.contain,
width: 800,
height: 800
})
.jpeg({ quality: 80 })
.toBuffer()
Run Code Online (Sandbox Code Playgroud)
这会生成一个 800 像素 x 800 像素的新图像,原始图像“包含”在该区域内。
我真正想要的是有一个 800 像素 x 600 像素的最终图像。IOW,调整图像大小并保持纵横比。
我意识到可以通过仅指定宽度来做到这一点。然而,有一个边界框来包含调整大小的图像是有用的,以避免创建大于特定高度的图像。
我可以在不同的设置下清晰地做到这一点吗?
Ces*_*las 23
What I think you are willing to achieve:
await sharp(image)
.resize(800, 800, {
fit: 'inside',
})
.jpeg({ quality: 80 })
.toBuffer()
Run Code Online (Sandbox Code Playgroud)
保持width或height保持夏普将保持比率
调整大小时,低于高度将保持其比例;
await sharp(image)
.resize({
fit: sharp.fit.contain,
width: 800
})
.jpeg({ quality: 80 })
.toBuffer()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7507 次 |
| 最近记录: |