node.js 如何从图像创建缩略图?

Posted

技术标签:

【中文标题】node.js 如何从图像创建缩略图?【英文标题】:node.js How to create thumbnail from image? 【发布时间】:2014-07-16 13:25:30 【问题描述】:

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

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

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

【问题讨论】:

我的猜测是它正在调整图像大小以保持比例(而不是拉伸它),这是最接近的最终结果。可能没有帮助,但原始图像尺寸是多少? 由于您已经有了可以工作的代码,这看起来更像是一个错误,您应该向gm 模块的维护者提出。 原图尺寸为1280x960 奇怪的是所有图像的大小都是 1280x960.. 但是在拇指方法之后,一些图像的大小是 250x180,有些是 249x180 【参考方案1】:

我已经用这段代码解决了:

imageMagick(picture.path)
    .resize('250', '180', '^')
    .gravity('center')
    .extent(250, 180)
    .write(picture.thumb_path, function (error) 
       if(error) console.log(error);
);

【讨论】:

以上是关于node.js 如何从图像创建缩略图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中生成视频缩略图?

如何从jQuery中的缩略图放大图像?

单击缩略图时如何显示全尺寸图像?

在Yii2中从上传的图像创建缩略图

AWS Lambda 制作视频缩略图

如何使用在 jython 上运行的 django 创建图像缩略图?