在命令行上将图像调整为最大尺寸

雷尼盐

我有很多非常大的图像集合,我想创建一个缩略图库,在其中将图像调整为最大最小宽度(您会理解)180像素。

例如:如果图像为2400x1800,则将其尺寸调整为240x180,否则为1600x1800,将其尺寸调整为180x202

清楚吗?图片的最小尺寸应正好为180,而不管宽度或高度。

使用命令行怎么可能?我知道如何将每个文件调整为特定大小,但不能使用这些不同的大小。

py

如何使用convert具有最小尺寸选项的ImageMagick ,请参见“图像几何选项”?

复制并粘贴代码段(bash语法)-请注意^大小说明后的内容:

for file in *.jpg; do
   echo -n Converting ${file}...
   convert -resize 180x180^ "$file" "th_$file"
   echo done
done

另外,如果要将生成的文件裁剪为围绕中心的二次方形状,则可以使用此脚本。SIZE第一行中参数指定(惊奇,惊讶)缩略图的最终大小。

SIZE=180
for file in *.jpg; do
   echo -n Converting ${file}...
   convert -resize ${SIZE}x${SIZE}^ "$file" temp.png
   convert -crop $(identify temp.png | awk -F'[ x]' -v SIZE=$SIZE '{ printf "%ux%u+%u+%u", SIZE, SIZE, ($3-SIZE)/2, ($4-SIZE)/2 }') temp.png "th_$file"
   echo done
done
rm temp.png

该脚本不是非常优化,因为它在缩略图上运行两个命令(identifyconvert -crop)。但是由于缩略图很小,我认为速度是合理的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章