複数の画像を、応答としてパイプされる単一のストリームに合成しようとしています。https://github.com/aheckmann/gmでNode.jsとNode用GraphicsMagickを使用しています。
2 つの画像をストリームに合成している場合、正常に動作します。この例では、最終的な合成の 2/3 が期待どおりに表示されます。これが私のコードです:
app.get('/call_2image_stream', function(req, res){
res.writeHead(200, {'Content-Type' : 'image/png'});
var path = (__dirname + '/test_folder/happy_right.png');
var path2 = (__dirname + '/test_folder/happy_left.png');
gm(path)
.composite(path2)
.stream('png')
.pipe(res);
})
しかし、3 つの画像を合成しようとすると、画像の下部が意図したとおりに正しく塗りつぶされません。コードは次のとおりです。
app.get('/call_3image_stream', function(req, res){
res.writeHead(200, {'Content-Type' : 'image/png'});
var path = (__dirname + '/test_folder/happy_bottom.png');
var path2 = (__dirname + '/test_folder/happy_right.png');
var path3 = (__dirname + '/test_folder/happy_left.png');
gm(path)
.composite(path2)
.composite(path3)
.stream('png')
.pipe(res);
})