红联Linux门户
Linux帮助

Linux图片批处理

发布时间:2017-05-22 15:01:54来源:linux网站作者:wzc0066
通过imagemagick的convert命令来处理。
 
将多个图片横向拼接(宽图):
convert +append 1.jpg 2.jpg all.jpg #人为指定顺序
convert +append *.jpg all.jpg #按照系统排序,所以先“ls -l”一下确认顺序正确再执行
 
将多个图片纵向拼接(长图):
convert -append 1.jpg 2.jpg all.jpg #人为指定顺序
convert -append *.jpg all.jpg #按照系统排序,所以先“ls -l”一下确认顺序正确再执行
 
将多个图片合成一个PDF文件(缺点:会将图片按比例拉升缩放,所以如果源图片比例不统一,最后生产PDF文档内容不整齐):
convert *.jpg +compress all.pdf
 
按指定顺序及位置拼接(如下面示例将四个256小图拼接成一个512大图):
convert -size 512x512 -strip -colors 8 -depth 8 xc:none \
u0.png -geometry +0+0 -composite \
u1.png -geometry +256+0 -composite \
d0.png -geometry +0+256 -composite \
d1.png -geometry +256+256 -composite \
dest4.png
 
说明:convert -size 512x512 xc:none 创建一张空白图片,然后把小图片合成到其上面。合成的命令大致为:convert 背景图片 图片 定义坐标原点 图片的位置 -composite 目标图片,其中“图片 定义坐标原点 图片的位置 -composite”可以重复,从而把多张图片一次性合成到背景图片上。使用-gravity定义坐标原点,默认是左上角,可以用east,north,northwest等来重新定义原点,-geometry相对于原点的位置。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30983.html