的转换命令ImageMagick套件的工具提供了方法,使各种各样的图像文件的变化。其中一个选项来改变图像的分辨率。语法很简单,和命令运行非常快。它还可以形象从一种格式转换为另一个(例如,jpg, png)以及模糊,作物,去除杂点,优柔寡断,翻转和加入图片和更多。
尽管命令和脚本在这篇文章中主要关注jpg文件,转换命令还适用于各种各样的其他图像文件,包括png、bmp、svg、tiff、gif等。
基本的调整
调整图像使用转换,您将使用一个命令是这样的:
美元转换调整1200 x1000 smile.jpg微笑- 2. jpg
语法是“转换调整分辨率currentfile newfile中”。
决议应表示为所需的宽度(以像素为单位),紧随其后的是一个“x”,然后期望的高度。注意,如果这些数字不数值与当前图像的维度,联合国决议的可能不是你所希望的。生成一个1200 x1000形象从2400 x2000是一回事。要求保存为2000 x1200将导致一个只有1440 x1200。
使用脚本
如果你打算将一个图像或将调整图像通常是一个好主意使用脚本。第一个脚本所示将创建一个“smile_2.jpg”从“smile.jpg”文件文件使用1200 x800决议。注意它如何提取文件扩展名的文件名,以便它可以构建新的文件名。
# !/bin/bash如果($ # eq 0);然后echo - n”图像文件:“读其他img img = fi添加1美元= 2 #得到文件类型和基本名称参数文件类型= ' echo $ img | awk - f。“{打印$ 2}”“:=”echo $ img | sed ' s / jpg / / ' ' #目标分辨率的分辨率= 1200 x800 #新文件名称将包括“_2”newfile中= " $ {basename} _ $ {}。文件类型”#运行转换命令转换调整美元决议img newfile中#美元ls - l $ newfile中显示新文件
调整一组图像文件
下面的脚本将创建一个1200 x800决议文件从每一个jpg文件在当前目录并将显示每一个新文件后,已经成立。
# !/bin/bash num = 2 = 1200 x800决议在ls * . jpg的形象;做basename = ' echo $ | sed形象“s / jpg / /”转换调整分辨率图像美元$ {basename} _ $ {num} . jpg ls ltr |尾1做了什么
如果你运行这个脚本,您会看到类似这样的:
美元resize_jpg_files -rw-r——r。49321啦啦5月25日09:52 camper_2.jpg -rw-r——r。3872啦啦5月25日09:52 map_2.jpg -rw-r——r。3872啦啦5月25日09:52 pig_2.jpg -rw-r——r。130432啦啦5月25日09:52 tree-cutting_2.jpg -rw-r——r。45082啦啦5月25日09:52 volcano_rings_2.jpg
调整的文件类型
下一个脚本将问你什么样的图像文件转换,然后通过运行文件在当前目录的类型。像前面的脚本,它添加了一个“_2”文件名区分原件。这可以很容易地改变,当然,如果其他字符或字符串更有效。
# !/bin/bash echo - n”文件类型:“读文件类型为图像添加= 2分辨率= 800 x600 ls *。$文件类型”;做回波图像basename = '回波图像| sed美元/。filetype / /美元“转换调整分辨率图像美元$ {basename} _ ${添加}。美元filetype ls ltr |尾1完成
使用多个图像分辨率
最后一个脚本要求单个图像文件的名称,然后创建新版本的图像使用三种不同的决议。它还添加了解决文件名称。
# !/bin/bash #要求图像文件名称echo - n”形象:“读图片如果[!- f $形象);然后回声“没有这样的文件:$形象”退出1 fi #注:分辨率对资源高度x宽度在400 x500 600 x800 800 x1200;做basename = ' echo $ | sed形象' s / jpg / /“转换调整资源图像美元$ {basename} _ ${资源}. jpg ls ltr |尾1做了什么
生成的文件可能看起来像这样:
$ ls - l狗* -rw-r——r。14501啦啦5月25日29 dog_400x500.jpg -rw-r——r。28658啦啦5月25日29 dog_600x800.jpg -rw-r——r。45082啦啦5月25日29 dog_800x1200.jpg -rw-r——r。58628啦啦5月25日需要dog.jpg
总结
的转换命令使得调整图像文件非常简单。更多地了解一些命令的其他选项,看看这篇文章转换和操纵图像文件在Linux命令行。