我有大约 500 张照片 - 每张大约 5MB。我想批量将它们转换为较小的尺寸,以适合电子邮件和网络托管。
我可以使用的工具 -
- Windows 7的
- Powershell 2
- 我尚不知道的免费工具
最好的选择是什么?
更新 - 使其成为社区维基 - 有这么多好的选择,我不确定将其中任何一个标记为答案是否有意义。
答案1
查看伊凡维尤!
答案2
我也会使用图像魔术师,这是一个 PowerShell 脚本,扩展了 DaveParillo 的想法。
# Retrieves array of JPG files in current directory
PS C:\TEST\> $jpgfiles = Get-ChildItem . -filter *.jpg
PS C:\TEST\> foreach ($jpgfile in $jpgfiles) {
# Defines a new filename by stripping original filename of extension,
# then adding "-scaled.jpg" to end of original filename
>> $newjpgfileName = $jpgfile.Name.substring(0, $jpgfile.Name.length-4) + "-scaled.jpg"
>> convert $jpgfile.Name -scale 500 $newjpgfileName
>> }
>>
我选择使用 ImageMagick 的转换命令,并将图像缩放到 500 像素宽,这将大大缩小文件并保持现有的纵横比。您也可以使用 mogrify,但这样会丢失原始图像。您可以使用 ImageMagick 做各种有趣的事情,我建议您查看他们的文档。希望这个 PowerShell 脚本能帮助您实现这一目标。
答案3
我选择 Imagemagick。这是我最喜欢的价格(免费)
如果您想将图像的 jpeg 质量降低至 50%:
mogrify -quality 50% *.jpg
要调整它们的大小(较小的副本),这是 shell 语法,不确定 powershell 是否等效:
for file in *.jpg; do
echo -n "Making images: $file thumbs.."
# a bare scale means Width is given,
# height automagically selected to preserve aspect ratio.
convert -scale 150 "$file" "thumbnails/$file"
echo -n " scaled.."
convert -scale 500 "$file" "scaled/$file"
echo .
done
答案4
Imagemagick 例子(此处有 2 个链接)