如何与gm node.js复合?

Yvo*_*nne 14 image composite node.js graphicsmagick

如何使用GM Node.js'gm composite -gravity center change_image_url base_image_url'?

如何调用gm().command()和/ gm().in()gm().out()实现上述目标?

Zer*_*keR 16

经过一个小时的挣扎,这是我的问题的解决方案:

gm composite -gravity center change_image_url base_image_url

gm()
.command("composite") 
.in("-gravity", "center")
.in(change_image_url)
.in(base_image_url)
.write( output_file, function (err) {
  if (!err) 
    console.log(' hooray! ');
  else
    console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

祝好运!希望它对其他人也有帮助:)


Rya*_* Wu 11

安装gm,(确保你已经安装了graphicsmagick

npm install gm
Run Code Online (Sandbox Code Playgroud)

以下是将两个图像合并在一起的示例代码(使用gm.in)

var gm = require('gm');

gm()
 .in('-page', '+0+0')
 .in('bg.jpg')
 .in('-page', '+10+20') // location of smallIcon.jpg is x,y -> 10, 20
 .in('smallIcon.jpg')
 .mosaic()
 .write('tesOutput.jpg', function (err) {
    if (err) console.log(err);
 });
Run Code Online (Sandbox Code Playgroud)


Mat*_*lis 3

我这样做是这样的:

var exec = require('child_process').exec
var command = [
        '-composite',
        '-watermark', '20x50',
        '-gravity', 'center', 
        '-quality', 100,
        'images/watermark.png',
        'images/input.jpg', //input
        'images/watermarked.png'  //output
        ];
         // making watermark through exec - child_process
        exec(command.join(' '), function(err, stdout, stderr) { 
            if (err) console.log(err);

        });
Run Code Online (Sandbox Code Playgroud)

  • 在这个例子中甚至使用了 gm 吗?...@Jonathan 你能告诉更多在哪里使用 gm 吗?像这样 `exec('gm composite'+command.join('')..` (3认同)
  • 作为 gm 的积极维护者,我建议你这样做......因为 gm 几乎没有必要。唯一的区别是我会使用 `execFile` 而不是 `exec`。 (2认同)