使用node.js和Sharp包将非裁剪调整为png

时间:2017-12-13 21:42:12

标签: node.js png image-resizing sharp

我正在尝试使用Nodejs sharp包重新调整图像/转换为png而不进行裁剪。根据文档,它是.max()方法,当调整大小到png时遗憾地不起作用(图像被歪曲)。任何解决方法?

2 个答案:

答案 0 :(得分:1)

嘿,如果您仍然想知道,这就是您可以做到的方式。

data:,

在.resize()的第三个参数中,您需要提及拟合,可以是'fill','contain'等。'contain'将嵌入图像,而不会更改其原始高度,宽度和填充背景颜色(默认黑色)。 “填充”将拉伸图像。 For More

答案 1 :(得分:0)

如果您使用sharp,那么您可以使用

达到您想要的结果
sharp()
  .resize(400, 400, {
    fit: sharp.fit.inside,
    withoutEnlargement: true, // if image's original width or height is less than specified width and height, sharp will do nothing(i.e no enlargement)
  })
  • inside:将适合宽度为 400 和高度为 400 的图像不裁剪图像的任何部分,也不添加黑色填充 用于输出图像的尺寸调整
  • 从技术上讲,它会尽可能大地调整图像大小,同时确保其尺寸小于或等于指定的尺寸。