2017-06-24 7 views
1

save-pixelsとget-pixels npmモジュールを使用してDataURLからndarrayを取得し、画像ndarrayをDataURLに変換するためにピクセルを保存します。しかし、DataURLを作成するためにsave-imageを使用しているときに、いくつかの問題に直面しています。私はこれを正しくしていますか?これを行うより良い方法はありますか?Node.jsの破損した画像につながるsave-pixels

これは私が使用していますコードです:私は取得

var buffer = require('fs').createWriteStream('output.txt'); 
var enc = require('base64-stream').encode(); 
savePixels(pixels, 'png').on('end', function() { 
    //Writes a DataURL to output.txt 
    buffer.write("data:image/png;base64,"+enc.read().toString()); 
}).pipe(enc); 

問題:画像が非飽和になり、PNG画像のDataURLが不完全です。完全なリファレンスについては

http://github.com/publiclab/image-sequencer/issues/25

+0

また、この出来事の例の偉大な、よく組織セット、前/後の画像、ここで:https://github.com/scijs/save-pixels/問題/ 22 – jywarren

+0

私は今すぐ投稿しました!良いアイデア:https://www.bountysource.com/issues/46330420-images-getting-desaturated-on-node-js-datauri-corrupted-at-times – jywarren

+0

リンクありがとう、@jywarren –

答えて

1

コールバックは、配管やないsavePixelsにする必要があります。それが不完全な画像につながっていました。 ので、コードはこのようになります。

var buffer = require('fs').createWriteStream('output.txt'); 
var enc = require('base64-stream').encode(); 
savePixels(pixels, 'png').pipe(enc).on('end', function() { 
    //Writes a DataURL to output.txt 
    buffer.write("data:image/png;base64,"+enc.read().toString()); 
}); 
関連する問題