node-gm graphicsmagick中的缩略图,无需升级

时间:2013-12-04 11:36:11

标签: node.js graphicsmagick

您好我想制作缩略图而不进行升级。我用这个代码:

gm(__dirname + '/images/Lighthouse.jpg')
.noProfile()
.gravity('Center')
.thumb('1920', '1280>', __dirname + '/images/thumb.jpg', 90, function (err){
    if (err) { console.log(err); }
});

但它仍然是高档的结果图像。我尝试另一种方式:

gm(__dirname + '/images/Lighthouse.jpg')
.noProfile()
.gravity('Center')
.resize('1920', '1280' + ">")
.quality(90)
.crop('1920', '1280')
.write(__dirname + '/images/resize.jpg', function (err) {
    if (err) { console.log(err); }
});

它确实阻止了上升,但是,我无法通过另一个选项 - “^”在调整大小,因为没有它我得到错误的缩略图结果。你可以比较一下:

gm(__dirname + '/images/Lighthouse.jpg')
.noProfile()
.gravity('Center')
.thumb('320', '480', __dirname + '/images/thumb.jpg', 90, function (err){
    if (err) { console.log(err); }
});

gm(__dirname + '/images/Lighthouse.jpg')
.noProfile()
.gravity('Center')
.resize('320', '480' + "^")
.quality(90)
.crop('320', '480')
.write(__dirname + '/images/resize.jpg', function (err) {
    if (err) { console.log(err); }
});

此代码返回类似的结果,但是高档图像。有没有办法提供“^>”选项在一起?感谢。

P.S。看起来像缩略图方法有点模糊,而不是调整大小/裁剪。

1 个答案:

答案 0 :(得分:2)

以下应该可以解决问题:

gm(__dirname + '/images/Lighthouse.jpg')
  //...
  .resize('320', '480', "^>")
  // ...