圆形图像angular落GM ImageMagic,通过选项

嗨,我想转换一些圆angular的图像。 我发现在他们的网站上ImageMagic可以做到这一点

convert thumbnail.gif \ \( +clone -crop 16x16+0+0 -fill white -colorize 100% \ -draw 'fill black circle 15,15 15,0' \ -background Red -alpha shape \ \( +clone -flip \) \( +clone -flop \) \( +clone -flip \) \ \) -flatten rounded_corners_red.png 

http://www.imagemagick.org/Usage/thumbnails/问题是,我不知道如何将所有这些选项转化为GM。 我试过了

  gm.in("\( +clone -crop 16x16+0+0 -fill white -colorize 100% -draw 'fill black circle 15,15 15,0' -background Red -alpha shape \( +clone -flip \) \( +clone -flop \) \( +clone -flip \) \) -flatten") 

但它不工作。 这就是我如何调整我的图像

 var gm = require("gm").subClass({ imageMagick: true }) var _ = require("lodash") var images = ['1b.jpg', '2b.jpg', '3b.jpg'] _.forEach(images, function(image, key) { var img = gm( __dirname + '/' + image ) var dest = __dirname + '/' + key+'.jpg' img.resize('100', '100', '^') img.gravity('Center') img.crop('100', '100') img.in("\( +clone -crop 16x16+0+0 -fill white -colorize 100% -draw 'fill black circle 15,15 15,0' -background Red -alpha shape \( +clone -flip \) \( +clone -flop \) \( +clone -flip \) \) -flatten") img.write( __dirname + '/' + key+'.jpg', function (err) { if (!err) console.log(' image done! '); }) }) 

       

网上收集的解决方案 "圆形图像angular落GM ImageMagic,通过选项"

我不相信GraphicsMagick支持括号,这似乎是一个非常复杂的做事方式。 我想我会做一个alpha蒙版,显示我想要的图片是不透明/透明的,并将其复制到图像中。

所以,具体来说:

 convert -size 100x100 xc:none -draw "roundrectangle 0,0,99,99,12,12" mask.png 

在这里输入图像描述

 convert -size 100x100 gradient:blue-yellow mask.png -compose copyopacity -composite result.png 

在这里输入图像描述

此外,请注意,由于JPEG不支持透明度,因此您将无法在JPEG输出文件中存储透明边angular。

如果你想要红色的angular落,你可以这样做:

 convert -size 100x100 xc:red -draw "roundrectangle 0,0,99,99,12,12" -transparent black mask.png convert -size 100x100 gradient:blue-yellow mask.png -composite result.png 

在这里输入图像描述