moneyslow.com

使用imagemagick拼接图片&Mac环境安装imagemagick及

imagemagick

imagemagick

ImageMagick是一个免费的创建、编辑、合成图片的开源软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。 
ImageMagick官网:http://www.imagemagick.org/ 
与ImageMagick功能类似的还有GraphicsMagick,GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。 
GraphicsMagick官网:http://www.graphicsmagick.org/ 
基于我主要的需求是图片合成(多张图片合成一张图片),且ImageMagick官网有着直接的命令操作教程,所以优先考虑了使用ImageMagick,查看资料过程中发现GraphicsMagick在某些特性上优于ImageMagick,等后期在做考究,且GraphicsMagick衍生于ImageMagick,熟悉了IM,GM想必不在话下。

言归正传吧。

我使用的是mac机器,刚开始,我是按照官网的步骤下载tar包到本地,然后解压,再配置一些环境变量,后来在使用时候,总是报错。 
报错主要是如下两种: 
1 no decode delegate for this image format `JPEG’ 
2 Abort trap: 6 imagemagick 
针对第一种错误,搜索资料大多要求你去下载jpeg的delegate,针对第二种错误,却基本找不到方案。

无奈,只好按照官网上推荐的homebrew方式来安装了。

homebrew是啥呢?

可以参考这里https://brew.sh/

通过这种方式成功安装且可以正常使用。

步骤1:下载XQuartz-2.7.11.dmg

下载地址:https://www.xquartz.org/ 
步骤2:安装homebrew 
shell中执行如下命令 
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 
步骤2 要在非root用户下执行

步骤3 执行命令 
brew install imagemagick

至此,imagemagick已经成功安装。 
homebrew方式安装的imagemagick路径默认在/usr/local/Cellar路径下

使用imagemagick拼接图片: 
执行如下命令:将 a.jpg 放到test.jpg 图片的中间位置(center控制)并保存为b_over.gif格式 
composite -gravity center a.jpg test.jpg b_over.gif

上条命令是通过center控制目标图片放置的位置,但是通常我们可能希望放到特定的位置,怎么办呢?

convert test.jpg a.jpg -geometry +75+180 -composite d_over.jpg

通过convert命令的-geometry 两个参数来控制目标图片位置,+75代表将a.jpg 的左顶点放到test.jpg左顶点 向左75pix,向下180pix 

Exit mobile version