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

时间:2018-11-23 07:07:27

标签: node.js imagemagick image-resizing gm

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

我可以使用画布来做到这一点。但是由于某些服务器操作系统问题,我无法使用canvas。

我尝试使用imageMagick和gm。但是找不到像这样的任何选择。请告诉我一种方法。

先谢谢了。

2 个答案:

答案 0 :(得分:1)

在ImageMagick中,您可以通过以下方式调整大小并填充为准确的大小

convert image -resize WxH -background none -gravity center -extent WxH output

输入:

enter image description here

在这里,我将背景变黑,以便您查看是否将其填满。

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


enter image description here

答案 1 :(得分:0)

如果成功使用画布调整图像大小,则可以签出https://github.com/Automattic/node-canvas此存储库。

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

convert dragon.gif  -resize 64x64  resize_dragon.gif

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

如果您有更多查询,希望对您有所帮助。