通过保持宽高比nodejs将图像调整为精确大小

Resize image to exact size by maintaining aspect ratio nodejs

我想通过保持宽高比并使用 nodejs 以透明度填充空 space 来将图像调整为精确大小。

我可以使用 canvas 来完成。但是由于某些服务器 os 问题我无法使用 canvas.

我尝试使用 imageMagick 和 gm。但是找不到像这样的任何选项。请告诉我一个方法来做到这一点。

提前致谢。

在 ImageMagick 中,您可以通过

调整大小并填充到准确的大小
convert image -resize WxH -background none -gravity center -extent WxH output

输入:

这里我将背景设为黑色,这样你就可以看到是否填写了。

convert lena.jpg -resize 400x300 -background black -gravity center -extent 400x300 lena1.jpg


如果您成功使用 canvas 调整图像大小,您可以查看 https://github.com/Automattic/node-canvas 这个 repo。

如前所述,您还通过 NodeJS ( http://www.imagemagick.org/Usage/resize/ ) 中的进程使用 ImageMagick 调整图像大小

convert dragon.gif  -resize 64x64  resize_dragon.gif

如果你有很多图片,我建议你写一个终端脚本(NodeJS 也可以实现)。

希望对您有所帮助,如果您有更多疑问,请随时提问。