0
アニメーションGIFに5つの特定のJPGファイル名をパイプしてみようとしています。私はいくつかの図書館を見て、Gif-Encoderを見つけました。私はストリームではあまり良くありません。私はJPEG DecoderのRGB結果をエンコーダーのaddFrame()メソッドにパイプする方法を理解できないようです。ノードJSを使用して複数のJPGをアニメーションGIFにパイプ
function createAnimatedGif(jpgPaths, animatedGifPath) {
let encoder = new GifEncoder(1280, 720);
let writeStream = fs.createWriteStream(animatedGifPath);
encoder.pipe(writeStream);
encoder.writeHeader();
jpgPaths.forEach(filePath => {
fs.createReadStream(filePath)
.pipe(new JPEGDecoder)
//.pipe(encoder);
//.pipe(pixels => encoder.addFrame(pixels));
});
encoder.finish();
}
gif.read()なしで動作します... gif.read()の目的を説明できますか?それは必要ですか?ありがとう。 – wayofthefuture
[gif-encoderのドキュメント](https://github.com/twolfson/gif-encoder)に詳しくは書かれていませんが、「エラー」イベントのドキュメントを読むと と表示されます。内部バッファが超過しています。これは、.on( 'data')または.read()経由で読み取らず、準備したデータをフラッシュできないときに発生します。 ' 厳密には必要ではありませんが、それなし。 – Skabbi