下面是详细讲解Nodejs下使用gm圆形裁剪并合成图片的完整攻略。
1. 确认GM库是否安装
在使用GM库之前,需要确认该库已被正确安装。可以使用以下命令进行确认:
gm version
如果GM库已被正确安装,则会输出以下信息:
GraphicsMagick 1.3.36 2018-04-22 Q16 http://www.GraphicsMagick.org/
如果未安装,则可使用以下命令进行安装:
sudo apt-get install graphicsmagick
2. 裁剪图片为圆形
使用GM库进行圆形裁剪的示例代码如下:
const gm = require('gm').subClass({imageMagick: true});
gm('<原始图片路径>')
.resize(300, 300)
.gravity('Center')
.extent(300, 300)
.out('-alpha', 'Set')
.out('-virtual-pixel', 'transparent')
.distort('Srt', '0,0 1,1 0 0.5')
.write('<输出路径>', function (err) {
if (!err) console.log('done');
});
在这段代码中,输入参数为原始图片路径,输出参数为裁剪之后的图片路径。裁剪之后的图片大小为300*300,在裁剪之前会先将图片缩放为300*300大小,然后将图片以中心点为基准进行扩展,以防止图片在裁剪过程中被裁剪过度。最后,使用GM库的distort函数,将图片进行圆形裁剪。
3. 合成图片
使用GM库进行图片合成的示例代码如下:
const gm = require('gm').subClass({imageMagick: true});
gm('<背景图片路径>')
.composite('<前景图片路径>')
.geometry('+50+50')
.write('<输出路径>', function (err) {
if (!err) console.log('done');
});
在这段代码中,输入参数为背景图片路径和前景图片路径,输出参数为合成之后的图片路径。使用GM库的composite函数将前景图片合成到背景图片上,并使用geometry函数设置前景图片的位置。
通过以上步骤,即可完成Nodejs下使用GM库进行圆形裁剪并合成图片的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nodejs下使用gm圆形裁剪并合成图片的示例 - Python技术站