假设您有一个包含大量图像的文件夹。每个图像的文件大小和扩展名不同,您希望以相同的格式保持一致。有没有办法:
这是如何做到的呢?
对不起,如果这是一个过于宽泛的问题,但我已经寻找了各种工具,如BulkRenameUtility,Flash重命名器,JPEG大小,ReaConverter。所有优秀的工具,但它们都使用GUI和我想要创建一个解决方案,每天晚上运行在windows服务器上自动。重命名部分可以使用命令行为BRU或闪存重命名器,但转换为JPEG最大文件大小.
发布于 2014-12-08 21:59:34
您可以使用ImageMagick、Bash和tr命令行工具来完成这个任务。使用以下元素编写shell脚本。
首先,重命名文件:
file_orig=${input} # ex.: "aBcD.png"
file_upper=$(echo $(basename ${input}) | tr "[a-z]" "[A-Z]") # ex.: "ABCD"然后,使用ImageMagick的convert命令将其转换为JPEG:
convert ${input} ${file_upper}.jpg # ex.: "ABCD.jpg"这是最基本的用法。它还没有应用关于文件大小的条件。您可以使用基本shell命令检查文件大小,并以检查结果为条件运行命令。
但是这里有一个更优雅的方法: ImageMagick (如果它的版本是IMV6.5.8-2或更高版本)可以使用-define jpeg:extent={size}进行JPEG输出,其中{size}是用文件大小后缀(例如:5000kb或5 MByte的5mb )指定的。
它的工作方式如下:convert创建多个版本的JPEG输出。它尝试使用不同的质量设置,直到它尽可能接近给定的文件大小而不超过它。它会重复地将结果写入临时文件。找到适当的质量+大小后,它会将最终图像输出到给定的输出文件名,并删除临时文件:
convert \
-define jpeg:extent=5mb \
${input} \
${file_upper}.jpg ImageMagick也适用于Windows。(我在Linux和Mac上进行了测试。)
https://stackoverflow.com/questions/27192093
复制相似问题