Node.js - конвертировать webp в jpeg как буфер (в памяти) - PullRequest
0 голосов
/ 21 января 2019

Знаете ли вы, как я могу преобразовать буфер image/webp в буфер image/jpeg без необходимости использования файловой системы?

Сначала я получаю буфер с request-promise, а затем я хотел бы преобразовать его и отправить в другом HTTP-вызове.

Я нашел этот пакет, который работает с файлами: https://github.com/scionoftech/webp-converter

Затем попытался найти что-то полезное в https://github.com/imagemin/imagemin но не удалось.

1 Ответ

0 голосов
/ 21 января 2019

Для этого можно использовать функциональность convert в ImageMagick, используя ее в пакете GraphicsMagick NPM .Он принимает сжатые 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
});
...