如何转换图像低宽200

时间:2016-09-02 15:39:50

标签: linux bash ssh imagemagick imagemagick-convert

我有以下代码进行图片转换。

我有一个包含许多图像的目录,我想转换宽度小于200像素的所有图像。

无论广告延伸如何,jpggifpng

find . -iname \*.jpg -exec convert -verbose -resize 200x140! "{}" "{}" \;

2 个答案:

答案 0 :(得分:1)

我认为你想要这个 - 或者非常接近它的东西 - 所以先备份!

find . \( -iname \*.jpg -o -iname \*.png -o -iname \*.gif \) \
   -exec bash -c '[ $(identify -format %w "$0" ) -lt 200 ] && convert "$0" -resize 200x140\! "$0"' {} \;

那说...... "从当前目录(.)开始,以不区分大小写的方式(-iname)找到名称结尾的所有文件,在JPGPNGGIF中为每个人创建一个新的bash shell。进入shell后,获取文件的宽度,如果小于200像素,执行convert命令将文件大小调整为200x140,忽略宽高比。"

答案 1 :(得分:0)

其中的“第一”部分是:获取该文件夹中所有图像的宽度。如果我正确地阅读了你的问题,那就是你遇到问题的地方;因此,您可以查看ImageMagick附带的识别命令。它像这样工作

 A(int la, double lb, double lc, int one) :
    A( la, lb, lc, info( one ) )
 {
 }

有关处理格式的信息,请参阅here。一旦获得“宽度匹配”文件列表,您就应该能够进一步转换它们。