Направить поток в дочерний процесс graphicsmagick/imagemagick

Я пытаюсь передать данные из потока в дочерний процесс.

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

rs.pipe( gm.stdin )

Нужно ли мне вызывать end на gm, чтобы он работал? Также в моем реальном коде я получаю поток из базы данных.


person Pickels    schedule 30.04.2012    source источник


Ответы (1)


Пример того, как передать запрос в 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

person Pickels    schedule 10.07.2012
comment
Знаете ли вы, можно ли передать несколько изображений в дочерний процесс? Я пытаюсь скомпоновать несколько потоков изображений вместе, а затем передать их после компоновки. - person NateW; 12.10.2015