嗨,我想将一些图片转换为圆角。我在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/#rounded 的问题在于我不知道如何将所有这些选项传递给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! ');
})
})