var image = gm(someImageUrl)
.resize(100,100);
var drawings = gm(200,200,'red')
.fill('blue')
.drawRectangle(20,20,40,40);
// Would be great to have sth like this.
drawings.drawImage(image, position)
// or
drawings.add(image, position)
// or
drawings.draw(image, position)
附加不是一个选项,因为我希望它们重叠并设置图像的精确位置
这可以通过采用组合选项(即命令() and in()作用于物体上的函数gm()返回),它们本质上是您将传递给 shell 的选项标志。
例如:
gm()
.command("composite")
.in("-gravity", "center")
.in(change_image_url)
.in(base_image_url)
.write(out_file, function (e) {
if (!e) {
console.log('this worked');
} else {
console.log(err);
}
});
但是,需要注意的是流和缓冲区无法利用它们,因为命令行选项需要原始文件输入。如果您希望输入 URL,这可能适合您的情况。
尝试看看节点画布 https://www.npmjs.com/package/canvas对于实际的drawing能力。您可以添加图像对象,然后使用 createPngStream 创建 Graphics Magick 可以读取的流,以进行任何最后一刻的编辑/抗锯齿调整大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)