Linux 中可以用 convert 命令对图像进行转换,比如图像的大小和格式等。convert 命令在 ImageMagick 内,因此只需要安装 ImageMagick 即可。
sudo apt install
安装完成后,执行如下命令确认 convert 是否安装成功。
convert --version
缩放图片大小
Convert 的 resize 子命令应该是在 ImageMagick 中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:
此说明文件中所用的原始文件(src.png),宽度:400,高度:300
$ file
命令格式:
-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!
- 默认都是使用像素作为单位,也可以使用百分比来形象图片的缩放。如:
convert -resize 50%x100%!
或者
convert -resize 50%x100% src.png dst.png
此参数只会按你的比例计算后缩放,不保持原有比例。(结果尺寸为 200×300)
- 使用
@
来指定图片的像素个数。如:
convert -resize "10000@"
此命令执行后,dst.png 图片大小为(115×86),图片保持原有比例(115×86 = 9080 < 10000)。
- 当原始文件大于指定的宽高时,才进行图片放大缩小,可使用
>
命令后缀。如:
convert -resize "200x100>"
此命令执行后,dst.png 图片大小为(133×100),图片保持原有比例。
convert -resize "200x100>!"
此命令执行后,dst.jpg 图片大小为(100×50),图片不保持原有比例。
- 当原始文件小于指定的宽高时,才进行图片放大转换,可使用
<
命令后缀。如:
convert -resize "100x500<"
或者
convert -resize "100x100<!"
此命令执行后,dst.png 和 src.png 大小相同,因为原始图片宽比 100 大。如:
convert -resize "600x600<"
此命令执行后,dst.png 图片大小为(600×450),图片保持原有比例。如:
convert -resize "600x600<!"
此命令执行后,dst.png 图片大小为(600×600),图片不保持原有比例。
- 使用
^
命令后缀可以使用宽高中较小的那个值作为尺寸。如:
convert -resize "600x600^"
此命令执行后,dst.png 图片大小为(800×600),图片保持原有比例。
convert -resize "600x400^"
此命令执行后,dst.png 图片大小为(600×450),图片保持原有比例。
最后这个 ^
搞不懂!