如何使用Node.js从图像创建缩略图?

7

我正在使用gm模块。这是我的代码:

gm(picture.path).thumb('250', '180', picture.thumb_path, 100, function (error) {
   if(error) console.log(error);
});

但有时结果大小为249x180。我需要250x180。


我的猜测是它正在调整图像的大小以保持比例(而不是拉伸它),这是最接近的最终结果。可能没有什么帮助,但原始图像尺寸是多少? - rlemon
由于您已经拥有能够正常工作的代码,这似乎更像是一个错误,您应该与“gm”模块的维护者联系。 - loganfsmyth
原始图像大小为1280x960。 - xfakehopex
所有的图片尺寸都是1280x960,但在缩略图方法后,有些图片的尺寸变成了250x180,有些则是249x180。 - xfakehopex
1个回答

5
我已经用这段代码解决了它:
imageMagick(picture.path)
    .resize('250', '180', '^')
    .gravity('center')
    .extent(250, 180)
    .write(picture.thumb_path, function (error) {
       if(error) console.log(error);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接