【问题标题】:How to create a thumbnail image in NodeJs using sharp library?如何使用Sharp库在NodeJs中创建缩略图?
【发布时间】:2021-01-25 07:34:41
【问题描述】:

我正在努力寻找适合图像处理的库,
基本上,我有一个图像Resizing, Compressing and creating thumbnails 的用例,
我发现sharp 似乎是图像处理的流行节点库选择,

我可以进行一些基本操作,例如调整图像大小,但是,
我找不到一种方法来创建原始图像的缩略图或更小尺寸的质量图像。
有人可以指出使用sharp 库创建缩略图和更小分辨率图像的正确代码吗?

示例工作代码:

const sharp = require('sharp');

let test = async () => {

    await sharp('/pathToImage/test.jpg')
    .resize({
        fit: sharp.fit.outside
    })
    .sharpen()
    .toFile('fitOutside.jpg')
    .then(info => { 
        console.log(info);
    })
    .catch(err => {
        console.log(err);
    });

};

test();

参考 -
http://sharp.pixelplumbing.com/en/stable/api-resize/
https://sharp.pixelplumbing.com/en/stable/api-resize/#examples_2

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。 stackoverflow.com/help/on-topic
  • 我不明白你的问题。只需将大小调整为例如。 128 x 128 并保存为 jpg。这不是缩略图吗?
  • 我试图通过设置所需的尺寸来调整大小,但它正在删除图像的一部分。我需要原始总部图像的高质量小尺寸版本
  • 我写了一篇关于这个medium.com/@pprathameshmore/…的博客

标签: node.js image npm


【解决方案1】:

如果同时给出宽度和高度,sharp 通常需要在一个轴上添加或删除像素。您可以使用fit 参数控制它的作用:

http://sharp.pixelplumbing.com/en/stable/api-resize/

默认是centre,听起来你更喜欢outside

【讨论】:

  • 更新了问题,我只是尝试使用fit: sharp.fit.outside 没有指定尺寸,但在这种情况下,它保持原来的尺寸?我应该指定widthheight 参数吗?
  • 您有两个选择: 1. 只需指定宽度,它就会调整到该宽度,同时让高度浮动。 2. 给出宽度和高度,并指定您希望如何调整图像。
  • 对于案例-> 1. 我指定widthfit 对吗?对于案例 2。我指定了 widthheightfit: sharp.fit.outside
  • 不,你只需要fit,如果你同时给出宽度和高度。
  • 然后case 2。是吗?为case 1。只指定width?
猜你喜欢
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
相关资源
最近更新 更多