Как преобразовать изображение узла gd в поток, который я могу передать? - PullRequest
0 голосов
/ 08 мая 2019

Я использую node-gd для обработки изображений, но я хотел бы сделать несколько вещей перед сохранением их на диск.Прямо сейчас я сохраняю файл с функциями .savePng () и .saveJpeg ().

Я хотел бы преобразовать его в поток, который можно передать в поток FS.

Я попробовал модуль streamifier, потому что он звучит так, как будто он будет делать то, что мне нужно, но при запуске кода ниже экспортированное изображение не читается (хотя тот же размер, что и экспорт через node-gd).

Вот что я пытался сделать:

var gd = require("node-gd");
var fs = require("fs");
const streamifier = require('streamifier');

var inputImage = gd.createFromPng('input.png');

var writeStream = fs.createWriteStream('output.png');

var pngstream = inputImage.pngPtr();

streamifier.createReadStream(pngstream).pipe(writeStream);

Что-то мне не хватает?

1 Ответ

0 голосов
/ 08 мая 2019

Указатель png должен сначала быть преобразован в буфер, например,

var pngstream = Buffer.from(inputImage.pngPtr(), 'binary');
...