ImageMagick 可能是最有趣的方式。IM 具有跨操作系统的高度可移植性,并且许多编程语言都提供了与 IM 的 API 一起使用的库。对于 Python,您可以选择三个库:
ImageMagick 还支持FX 表达式;您可以使用它来构建复杂的效果(例如您在 iChat 中看到的效果)。可以动态创建效果,或者您可以创建模板蒙版以应用于用户照片。
下面是使用 IM 的命令行界面生成蒙版和复合效果的一些示例。
# Create circle mask
convert -size 200x200 xc:white \
-draw 'circle 100,100 60,60' \
-blur 0x10 \
circle.jpg
# Apply effect
composite circle.jpg me.jpg -displace 15x15 me_circle.jpg
# Create mask with text
convert -size 200x200 \
-font Helvetica -pointsize 52 \
-background white \
-fill black label:'Stack\nOverflow' \
-distort Arc 360 \
font.jpg
# Apply effect
composite font.jpg me.jpg -displace 15x15 me_font.jpg