【发布时间】:2017-04-20 17:10:47
【问题描述】:
我目前正在通过命令行使用 imagemagick 在另一个图像上的多个位置放置水印,但我这样做的方式似乎不是最好的方法。
这是我的做法:
exec("convert 'originalImage.jpg' 'watermark.jpg' -gravity NorthWest -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'");
exec("convert 'finalImage.jpg' 'watermark.jpg' -gravity NorthEast -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'");
exec("convert 'finalImage.jpg' 'watermark.jpg' -gravity SouthWest -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'");
这是 (1) 获取 originalImage.jpg 并将 watermark.jpg 添加到左上角(距左上角 3px 的边距,使用 30% 的不透明度),然后 (2) 获取生成的 finalImage.jpg 和将水印添加到右上角,然后 (3) 再次获取该 finalImage.jpg 并将水印添加到左下角。
所以它重新创建文件 3 次以生成最终图像。有没有一种简便的方法来做同样的事情,而不必分别保存文件三次?
谢谢!
【问题讨论】:
标签: imagemagick imagemagick-convert