![在 Windows 文件夹结构中优化(无损)数千张 jpg 的最佳方法是什么?](https://linux22.com/image/593703/%E5%9C%A8%20Windows%20%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%93%E6%9E%84%E4%B8%AD%E4%BC%98%E5%8C%96%EF%BC%88%E6%97%A0%E6%8D%9F%EF%BC%89%E6%95%B0%E5%8D%83%E5%BC%A0%20jpg%20%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
使用 Smush.it 或 Firebug 的内置图像优化器,我意识到我们可以减小所有 Web jpg 的文件大小。实际上,减小幅度相当大。由于我们有数十万张图像,是否有任何方法可以使用您知道的任何工具批量优化(和替换)这些图像(除了上述工具,因为它们只能逐张操作)?真的不想手动逐张执行此操作。 :(
答案1
我推荐 ImageMagick 实用程序http://www.imagemagick.org/script/index.php
您可以使用convert
ImageMagick 中的实用程序以及一些简单的命令行脚本。您可以使用 Unix 系统或 Windows 中的 Cygwin
准确的转换命令是convert -quality 50 in.jpg out.jpg
。将质量参数调整为所需值。(注意:这是一个有损操作)
转换实用程序还可以转换为其他格式,例如无损的 PNG 格式。
如果你在 Cygwin 上使用 Unix 或 bash,则完整操作如下:
for file in *.jpg; do
filebase=`basename $file`
convert $file -quality 50 ${filebase}.new.jpg
done
另一种选择是在批处理模式下使用 Gimp:
答案2
您需要的工具称为jpg。它在大多数 Linux 发行版中可用,并且 Windows 二进制文件也可用。您要使用的命令是:
jpegtran -copy none -progressive -outfile out_filename.jpg in_filename.jpg
您应该能够轻松地使用批处理文件或 shell 脚本编写此脚本,以在所有图像文件上运行。请注意,这可能会删除版权声明等。如果这是个问题,请更改-copy none
为-copy comments
。