2
webshot
モジュールのイメージスクリーンショットのサイズを、ディスクに触れることなくメモリ内ですべて行います。ここでconcatバッファまたは別の方法
はdata
はチャンクでのお届けとなりますので、私は、私はバッファを組み合わせて、終わりにし
var webshot = require('webshot');
var fs = require('fs');
var sharp = require('sharp');
alldata = new Buffer(1024*1024);
var options= {
windowSize: {
width: 1024
, height: 768
},
zoomFactor:0.25,
renderDelay:500,
quality:50,
phantomConfig: {'ignore-ssl-errors': 'true'}
};
var file = fs.createWriteStream('google.png', {encoding: 'binary'});
var renderStream = webshot('google.com', options);
var completed = false;
renderStream.on('data', function(data) {
console.log(Type(data));
alldata.write(data);
});
renderStream.on('end', function(data) {
completed=true;
});
require('deasync').loopWhile(function(){return !completed;});
必要になったものですSharp
を使用して、別のサイズにイメージを変換します。
var resizeTransform = sharp(thebuffer).resize(320, 270).max();
しかし、私はちょうどバッファを連結することはできませんし、バッファを連結せずにSharpで直接行う方法はわかりません。任意のアイデアを正しく行う方法?
ありがとうございました。ファイルに書きたくない場合はどうすればよいですか。単にストリーム/メモリに保存しておき、res.writeを通して出力します。 – xcodejs
'res'は書き込み可能なストリームなので、書き込み可能なファイルストリームと同様にストリームを' res'にパイプすることもできます。 – ufxmeng