Imagemagick 是一个强大的命令行图片处理工具,它可以实现众多的功能。
但是,作为一个合格的小白,我只使用它的批量转换功能,惭愧。
可以看这个链接学习各种命令行:https://imagemagick.org/script/command-line-processing.php
1. jpeg to jpg
把当前目录的 jpeg 图片转换成 jpg,并且按照数字 000-999 来命名
magick *.jpeg %03d.jpg
2. 批量压缩本地图片
我以前也不理解为什么要压缩图片,保留原图不好么。
后来几件事让我的观念有所转变。
首先,现在一张照片实在是太大了,动辄 5Mb 以上。目前各类免费的个人云服务空间大概在 5 Gb~15 Gb 左右。存照片已经隐约不够了,再拍几个记录生活的小视频就更捉襟见肘了。
其次,我了解到把图片压缩85%的画质损伤肉眼是很难分辨的,但是带来的体积缩小是惊人的,约 3~4 倍(直接除的那种)。谷歌就据此推出了高画质无限空间存储服务。
鉴于目前离不开小米的 MIUI 系统,且云服务只有 14 Gb,我开始考虑自己手动压缩照片和视频了。
下面记录下批量压缩照片的bat脚本:
@echo off
for /f "tokens=1,2 delims=." %%i in ('dir /b input') do (
echo %%i.%%j
magick .\input\%%i.%%j -quality 85 .\output\%%i-shink.jpg
)
pause
目录结构:
D:\Codes\Test>dir /s
驱动器 D 中的卷是 Software
卷的序列号是 1004-730F
D:\Codes\Test 的目录
2020/09/08 16:53 <DIR> .
2020/09/08 16:53 <DIR> ..
2020/09/08 16:33 <DIR> input
2020/09/08 16:52 <DIR> output
2020/09/08 16:51 156 quality85.bat
1 个文件 156 字节
D:\Codes\Test\input 的目录
2020/09/08 16:33 <DIR> .
2020/09/08 16:33 <DIR> ..
2020/07/23 21:41 12,404,173 6ad3c54cc3aa767dfdf593869793764aed248b2b.jpg
1 个文件 12,404,173 字节
D:\Codes\Test\output 的目录
2020/09/08 16:52 <DIR> .
2020/09/08 16:52 <DIR> ..
2020/09/08 16:51 3,040,469 6ad3c54cc3aa767dfdf593869793764aed248b2b-shink.jpg
1 个文件 3,040,469 字节
所列文件总数:
3 个文件 15,444,798 字节
8 个目录 365,355,732,992 可用字节
把要压缩的照片放到 input 文件夹下,最终在 output 目录下生成压缩后的照片,后缀 -shrink.jpg。
这终究只是暂时缓解而已,还是寄希望于小米云服务可以提供高画质无限空间存储服务吧。
3. 压缩单个图片
magick .\input.jpg -quality 75 -resize 1000 output.jpg
4. 批量转换格式
magick mogrify -format jpg *.tif