可能的重复:将
JPEG 图像批量“调整大小”到固定文件大小的
快速批量图像调整器
我有数以千计的图像(90 GB),主要是文件,以及与员工相关的东西,如护照复印件等。这些文档中的大多数都过大并以高 DPI(300 或 200)扫描。随机抽样每个文件的平均大小为 500KB-1MB,我可以调整它们的大小或将它们压缩到小于 100KB,即使使用 MSPain 也只需很少的工作。是否有任何软件可以帮助我以更简单的方式完成这项工作,因为几乎不可能一一打开它们并调整它们的大小。
convert input.jpg -resize 600x600 output.jpg
Run Code Online (Sandbox Code Playgroud)
请注意,这将为每一面设置最大尺寸,但会保持纵横比。因此,使用上述命令调整大小的 1200x1000 图像将被缩放为 600x500 像素,而 1000x1200 图像将被调整为 500x600。
当然,您可以将其放入脚本中。在 bash 上,要将*.jpg目录中的每个转换为 600x600 jpg:
for f in ./*.jpg; do convert "$f" -resize 600x600 "${f%.jpg}-resized.jpg"; done
Run Code Online (Sandbox Code Playgroud)
递归地做同样的事情:
find . -type f -name *.jpg -exec bash -c 'convert "$0" -resize 600x600 "${0%.jpg}-resized.jpg"' {} \;
Run Code Online (Sandbox Code Playgroud)
我不知道如何在 Windows 命令行/批处理脚本上执行这些操作,但我知道这是可能的。
如果你想覆盖你的原始文件,你可以使用 ImageMagick 的mogrify命令:
mogrify input.jpg -resize 600x600
Run Code Online (Sandbox Code Playgroud)
这具有能够使用 shell 扩展的额外优势,因此您可以调整目录中每个 *.jpg 的大小,而无需求助于 for 循环:
mogrify ./*.jpg -resize 600x600
Run Code Online (Sandbox Code Playgroud)
要递归使用它,您必须将其放入 find 命令中,如下所示convert:
find . -type f -name *.jpg -exec mogrify '{}' -resize 600x600 \;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1620 次 |
| 最近记录: |