Node.js-将Webp转换为jpeg作为缓冲区(在内存中)

时间:2019-01-21 12:14:56

标签: node.js jpeg webp converters

您是否知道我可以将image/webp缓冲区转换为image/jpeg缓冲区而无需使用文件系统的任何方式?

首先,我使用request-promise获取缓冲区,然后将其转换并通过另一个HTTP调用发送出去。

我发现此软件包适用于文件: https://github.com/scionoftech/webp-converter

然后试图找到一些有用的东西 https://github.com/imagemin/imagemin 但没有成功。

2 个答案:

答案 0 :(得分:0)

您可以通过convert使用ImageMagick中的GraphicsMagick NPM package功能。它接受webp压缩的TIFF,您可以将其输出为jpg。安装GraphicsMagick时,请确保还包括ImageMagick并使用--with-webp标志进行安装,以便支持webp。需要gm lib时,请确保还指定imageMagick:

 const gm = require('gm').subClass({imageMagick: true});

在您的承诺中,您可以调用如下函数:

gm().command('convert').in('yourImage.jpg').in('yourImage.webp').toBuffer(function(err, buffer){
if(err)throw err
//...Do what you need with the buffer
});

答案 1 :(得分:0)

我为此找到了一个非常快的库:sharp

语法也非常清晰和简单。要将 webp 缓冲区转换为 jpg 缓冲区,只需执行

sharp(webpBuffer).jpeg().toBuffer();