Convert 命令与图像处理
Linux 中可以用 convert 命令对图像进行转换,比如图像的大小和格式等。convert 命令在 ImageMagick 内,因此只需要安装 ImageMagick 即可。
sudo apt install imagemagick
安装完成后,执行如下命令确认 convert 是否安装成功。
convert --version
缩放图片大小
Convert 的 resize 子命令应该是在 ImageMagick 中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:
此说明文件中所用的原始文件(src.png),宽度:400,高度:300
$ file src.png
src.png: PNG image data, 400 x 300, 8-bit/color RGB, non-interlaced
命令格式:
-resize {width}x{height}{%} {@} {!} {<} {>} {^}
示例:
-
默认时,宽度和高度表示要最终需要转换图像的最大尺寸,同时 convert 会控制图片的宽和高,保证图片按比例进行缩放。如:
convert -resize 200x150 src.png dst.png
转换后的 dst.png 的图片大小(宽度为 200,而高度已经按比例调整为 150)。
-
也可以只指定宽度或者高度,按比例对图片进行缩放。如:
只指定宽度:
convert -resize 200 src.png dst.png
只指定高度:
convert -resize x150 src.png dst.png
-
如果需要转换成 200x200,而图片无需保持原有比例,可以在宽高后面加上一个感叹号
!
。如:convert -resize 200x200! src.png dst.png
-
默认都是使用像素作为单位,也可以使用百分比来形象图片的缩放。如:
convert -resize 50%x100%! src.png dst.png
或者
convert -resize 50%x100% src.png dst.png
此参数只会按你的比例计算后缩放,不保持原有比例。(结果尺寸为 200×300)
-
使用
@
来指定图片的像素个数。如:convert -resize "aaa@qq.com" src.png dst.png
此命令执行后,dst.png 图片大小为(115×86),图片保持原有比例(115×86 = 9080 < 10000)。
-
当原始文件大于指定的宽高时,才进行图片放大缩小,可使用
>
命令后缀。如:convert -resize "200x100>" src.png dst.png
此命令执行后,dst.png 图片大小为(133×100),图片保持原有比例。
convert -resize "200x100>!" src.png dst.png
此命令执行后,dst.jpg 图片大小为(100×50),图片不保持原有比例。
-
当原始文件小于指定的宽高时,才进行图片放大转换,可使用
<
命令后缀。如:convert -resize "100x500<" src.png dst.png
或者
convert -resize "100x100<!" src.png dst.png
此命令执行后,dst.png 和 src.png 大小相同,因为原始图片宽比 100 大。如:
convert -resize "600x600<" src.png dst.png
此命令执行后,dst.png 图片大小为(600×450),图片保持原有比例。如:
convert -resize "600x600<!" src.png dst.png
此命令执行后,dst.png 图片大小为(600×600),图片不保持原有比例。
-
使用
^
命令后缀可以使用宽高中较小的那个值作为尺寸。如:convert -resize "600x600^" src.png dst.png
此命令执行后,dst.png 图片大小为(800×600),图片保持原有比例。
convert -resize "600x400^" src.png dst.png
此命令执行后,dst.png 图片大小为(600×450),图片保持原有比例。
最后这个 ^
搞不懂!