【问题标题】:Thumbnails from graphics magick without upscaling来自图形魔术师的缩略图,无需放大
【发布时间】:2013-02-05 10:21:33
【问题描述】:

我在 nodejs 中使用graphics magick wrapper 并使用以下代码创建方形缩略图:

var size = {width: 200, height: 200};
gm(sourcePath)
  .resize(size.width * 2, (size.height * 2) + '')
  .thumbnail(size.width, size.height + '^')
  .gravity('center')
  .extent(size.width, size.height)
  .profile('*')
  .write(outputPath, function (error) {
    if (error) console.log('Error - ', error);
  });

这很好用,直到我的缩略图大小大于输入图像。在这种情况下,我希望缩略图是规定的大小,但图像要放置在它的中心而不是调整大小。

有没有办法通过一组命令来做到这一点,还是我必须编写一些单独的逻辑来确定?

【问题讨论】:

    标签: node.js graphicsmagick


    【解决方案1】:

    我最终使用这个命令直接使用 GM:

    gm convert inputPath -resize "200x200>" -gravity center -extent 200x200 outputPath
    

    这将创建一个以输入图像为中心的 200x200 图像,它们 -resize 200x200> 部分(注意 >)意味着仅将其调整为更小而不是更大

    在node中使用gm模块的等效命令是:

    var size = {width: 200, height: 200};
    gm(sourcePath)
      .resize(size.width, size.height + ">")
      .gravity('Center')
      .extent(size.width, size.height)
      .write(outputPath, function (error) {
        if (error) console.log('Error - ', error);
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 2023-03-30
      • 2011-02-16
      • 1970-01-01
      相关资源
      最近更新 更多