在Graphicsmagick中合成图像
我试图从一个API请求一个图像,并“粘贴”在另一个图像的顶部。 在Photoshop中,我将图像粘贴到一个新的图层,然后合并图层。 我可以使用gm的composite()来实现Graphicsmagick。
gm().command("composite") .in("path/to/topImg.png") .in("path/to/bottomImg.png") .toBuffer('PNG', function(err, buffer) { if (!err) {return buffer;} });
但是,复合只需要文件path。 假设我想从http://www.google.com获取徽标。 我可以保存图像,在上面的代码中使用它,然后删除它。 我正在寻找的是一种方法来实现这一点,而不必先将图像保存到磁盘。
您可以直接使用URL作为图像path,而不需要下载和保存
gm() .command("composite") .in("http://someurl...") .in("http://someurl...") .toBuffer('PNG', function(err, buffer) { if (!err) {return buffer;} });
但是GraphicsMagick使用来自libxml2的HTTP支持,它目前不支持HTTPS。 所以如果你想通过HTTPS下载图片,你将需要外部程序。
- 使用Node.js和GraphicsMagick将四个图像拼接在一起
- 节点jsstream中的执行顺序
- 在Nodejs中用Graphicsmagick调整图像大小会生成emty文件
- 我如何使用node.js和gm创buildpdf的缩略图
- Node中非常随机的行为,使用gm,buffers和promise
- nodejs gm模块脚本在多个单个图像中分割一个大的多页tiff文件
- ()GraphicsMagic中如何将图像缓冲区数据传递给gm
- GraphicsMagick / ImageMagickreplace所有不透明的像素(如Photoshop的颜色叠加)
- 使用graphicsmagick在nodejs上创build图像