9

ストリームから子プロセスにデータをパイプしようとしています。

var gm = spawn( 'gm convert - -thumbnail 220x165^ -gravity center -extent 220x165 thumb.jpg' );
var rs = fs.createReadStream( 'cow.jpg' );

rs.pipe( gm.stdin )

それが機能するために gm で end を呼び出す必要がありますか? また、実際のコードでは、データベースからストリームを取得しています。

4

1 に答える 1

11

リクエストを imagemagick にストリーミングする方法の例:

var image = request.get(req.params.url);
var size = req.params.size.split('x');
var args = ['-', '-thumbnail', req.params.size + '^', '-gravity', 'center', '-extent', req.params.size, '-' ];
var convert = spawn('convert', args);

image.pipe(convert.stdin);
convert.stdout.pipe(res);

これについての素晴らしい話: http://vimeo.com/43380478

ソースコード: https://github.com/felixge/rebel-resize

于 2012-07-10T13:22:56.867 に答える