如何在节点js中将彩色图像(jpg,jpeg,png)更改为黑白或灰度

时间:2017-02-09 21:19:38

标签: node.js

我使用了所有支持灰度级的npm包,但没有任何工作正常。 其中一些正在工作,但质量下降。 有一个很好的灰度包名为image-grayscale,但问题是,当其中一个src图像(example / image.gpg)文件被破坏时,根据promise代码停止进一步。 下面是代码问题。

 globby(['./upload/*.*','!./upload/*.ico','!./upload/*.gif', '!./upload/*.txt']).then(function (paths) {
            return Promise.all(paths.map(function (e) {
                    return imageGrayScale(e, {logProgress: 1})                                      }));
                        }).then(function (val) {


   // if one of the file in directory is corrupted then promise is rejected and my code stooped  and i cant do  anything further

 })

请告诉我如何处理代码的错误承诺更进一步。还是有任何像回调的解决方案。

我应该去任何其他模块或者可以编写自己的灰度算法请告诉我如何将图像颜色转换为黑白模式

1 个答案:

答案 0 :(得分:0)

我之前使用Jimp成功,所以你可以调查一下。

从文档

中取得的一个例子
Jimp.read("file.png", (err, image) => {
    if (err) throw err;
    image.greyscale().write("image.png");
});