2012-04-30 16 views
8

Tôi đang cố gắng đưa dữ liệu từ luồng vào quy trình con.Luồng ống để xử lý hình ảnh đồ họa/quá trình con số

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

rs.pipe(gm.stdin) 

Tôi có cần gọi kết thúc trên gm để nó hoạt động không? Cũng trong mã thực sự của tôi, tôi đang nhận được luồng từ một cơ sở dữ liệu.

Trả lời

9

Ví dụ về cách dòng một yêu cầu vào 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); 

lớn nói chuyện về vấn đề này: http://vimeo.com/43380478

Và mã nguồn: https://github.com/felixge/rebel-resize

+0

Bạn có biết nếu nó có thể để ống nhiều hình ảnh vào quá trình con? Tôi đang cố gắng kết hợp nhiều luồng hình ảnh lại với nhau và sau đó chúng được đưa ra khi được tổng hợp. – NateW