node.js - node.js .thumb()的gm不会剪切精确的大小

时间:2015-07-09 09:48:54

标签: node.js graphicsmagick

node.js的GraphicsMagick有一个制作缩略图的方法,在文档中用这样的方式编写

gm("img.png").thumb(width, height, outName, quality, callback)

宽度和高度是"最小值"? http://aheckmann.github.io/gm/docs.html#thumb

该函数不会生成指定的精确大小。如果我输入

gm("img.png").thumb(200, 200, ...)

我将有机会获得以下维度:

  • 200×200
  • 200x199
  • 199x200

如何使用gm制作精确尺寸的缩略图?请帮助:(

1 个答案:

答案 0 :(得分:0)

使用.thumb()功能制作拇指后,请使用.extent(width, height)。 在您的情况下,宽度和高度都是200.如果宽高比与此尺寸不匹配,这将在200x200画布上绘制图片,并自动居中。

我编写了此示例代码,用于在不使用.thumb()函数的情况下从不符合宽高比要求的图像创建200x200缩略图。选项为{height:200,width:200}

inputImage = inputImage.resize(options.width, options.height, "^"); //^ is the type of resize string
inputImage = inputImage.gravity("Center");
inputImage = inputImage.extent(options.width, options.height);

输入图片 - https://www.travelalaska.com/~/media/Images/Travel%20Alaska/Content/HomePage/GlacierBay.jpg

输出图片 - http://i.stack.imgur.com/cARDo.png enter image description here