2012-04-30 10 views
8

Estoy tratando de canalizar datos de una secuencia en un proceso secundario.Transmisión de canal a graphicsmagick/imagemagick proceso secundario

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

rs.pipe(gm.stdin) 

¿Debo llamar a end on gm para que funcione? También en mi código real estoy obteniendo la transmisión desde una base de datos.

Respuesta

9

Ejemplo de cómo se debe transmitir una solicitud en 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); 

Gran hablar de esto: http://vimeo.com/43380478

y el código fuente: https://github.com/felixge/rebel-resize

+0

sabes si es posible de tubos múltiples imágenes en el proceso del niño? Estoy tratando de componer varias secuencias de imágenes juntas y luego hacerlas salir una vez compuestas. – NateW

Cuestiones relacionadas