簡體   English   中英

如何將節點gd圖像轉換為我可以管道的流?

[英]How to convert a node gd image to a stream that I can pipe?

我正在使用node-gd來處理圖像,但我想在將它們保存到磁盤之前做一些事情。 現在我用.savePng()和.saveJpeg()函數保存文件。

我想將它轉換為可以通過管道傳輸到FS流的流。

我嘗試了模塊流化器,因為它聽起來像我需要的那樣,但是當運行下面的代碼時,導出的圖像是不可讀的(盡管與通過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);

有什么我想念的嗎?

首先需要將png指針轉換為緩沖區

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM