CentOS 上安装ImageMagick
# 环境说明
操作系统: CentOS 8
需要能访问互联网,并配置好yum源
# 下载rpm包
wget https://download.imagemagick.org/ImageMagick/download/linux/CentOS/x86_64/ImageMagick-7.1.0-17.x86_64.rpm
wget https://download.imagemagick.org/ImageMagick/download/linux/CentOS/x86_64/ImageMagick-libs-7.1.0-17.x86_64.rpm
# 安装
yum localinstall ImageMagick-*
# 验证
which convert
which identify
使用示例
# 图像格式转换
convert test.jpg test-1.png
# 检查文件头
od -bc test.jpg |head -6
od -bc test-1.png |head -6
关键字:JFIF PNG
# 扩展 批量转换图像文件格式
cat batch_convert.sh
#!/bin/bash
for file in `ls *.jpg`
do
newfile=`echo $file | sed 's/jpg/png/'`
convert $file $newfile
done
--------------
# 图像的旋转和翻转
# 将图像旋转45度,并转换格式
convert test.jpg -rotate 45 test_45.png
# 将图像进行垂直翻转,并转换格式
convert test.jpg -flip test_flip.png
----------------
# 拼接附加图像
# 使用-append选项,将两个图片上下合并。如果使用+append选项,将两个图片左右合并
convert test.jpg test_flip.png -append append_test.png
convert test.jpg test_flip.png +append append+test.png
----------------
# 调整图像比例
# 将图像缩小50%
convert test.jpg -resize 50% test_50.jpg
# 将图像放大到150%
convert test.jpg -resize 150% test_150.jpg
# 将图像等比缩放,将图像缩放到200x100的尺寸
convert -resize 200×100 src.jpg dest.jpg
# 固定宽高缩放。即不考虑原是图宽高的比例,把图片缩放到指定大小
convert -resize 200x100! src.jpg dest.jpg
# 把原始图片分割成多张小图
convert src.jpg -crop 100x100 dest.jpg
------------------------------------
# 在原始图片上剪裁一张指定尺寸的小图
convert src.jpg -crop 100x80+50+30 dest.jpg
# 在原始图片的上距离上部30像素左部50为起点的位置,分别向左向下截取一块大小为100x80的图片。如果x相对于坐标,宽度不够100,那就取实际值。
# 在原始图上截取中心部分一块100x80的图片
convert src.jpg -gravity center -crop 100x80+0+0 dest.jpg
# 在原始图上截取右下角距离下边缘10个像素,右边缘5个像素一块100x80的图片
convert src.jpg -gravity southeast -crop 100x80+10+5 dest.jpg
------------------------------------
# 压缩图像
convert -map netscape: guide_page_1.png guide_page_1_zip.png
convert -quality 25% t1.jpg t1-500.jpg
-----------------------------------
# 背景垫一层
convert -size 100x60 xc:skyblue -gravity center -draw "image over 0,0 0,0 'terminal.gif'" draw_image.gif
这里只搜集部分了使用方法示例,待续