我有很多非常大的图像集合,我想创建一个缩略图库,在其中将图像调整为最大最小宽度(您会理解)180像素。
例如:如果图像为2400x1800,则将其尺寸调整为240x180,否则为1600x1800,将其尺寸调整为180x202
清楚吗?图片的最小尺寸应正好为180,而不管宽度或高度。
使用命令行怎么可能?我知道如何将每个文件调整为特定大小,但不能使用这些不同的大小。
如何使用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
该脚本不是非常优化,因为它在缩略图上运行两个命令(identify
和convert -crop
)。但是由于缩略图很小,我认为速度是合理的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句