为什么要转格式?HEIC / JPG / WebP 对比
格式 | 优点 | 缺点/兼容性 | 适用场景 |
---|---|---|---|
HEIC | 体积小、画质好 | Windows/部分软件不友好,预览/编辑有门槛 | 苹果生态内使用 |
JPG | 兼容性最好、通用 | 体积相对大 | 打印/分享/全平台 |
WebP | 更省空间、画质可观 | 老旧软件不支持 | 网站、图床、博客 |
一、准备工作:安装 ImageMagick
脚本基于开源工具 ImageMagick,它能读取 HEIC 并输出多种格式。
1、前往下载页面,建议选择:
推荐安装包:ImageMagick-7.x(Win64)Q16-x64-dll.exe
(64 位系统 / 16-bit 精度 / 动态版)
2、安装时建议勾选:
✅ Add application directory to your system path
✅ Install legacy utilities (e.g. convert)
3、安装完成后,按 Win+R 输入 cmd,执行下面指令,有版本号就代表安装成功,可以运行脚本了。
magick -version
二、脚本下载与源码
下面提供两套脚本源码。把代码复制到记事本,另存为 .bat
文件即可使用,记事本存储的时候选择UTF-8 无 BOM 或 ANSI 都行。
脚本 A:HEIC → JPG
heic2jpg.bat 默认质量:92; 输出目录:converted_jpg
@echo off
setlocal enableextensions
title HEIC to JPEG (fixed)
rem ===== Params =====
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%\converted_jpeg"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=92"
where magick >nul 2>&1 || (
echo [ERROR] magick.exe not found. Install ImageMagick first.
pause
goto :end
)
if not exist "%OUT%" mkdir "%OUT%" 2>nul
rem ===== Count (single pattern to avoid double count) =====
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
echo No HEIC files found in "%SRC%".
pause
goto :end
)
echo Source : %SRC%
echo Output : %OUT%
echo Format : JPEG
echo Quality: %QUALITY%
echo Files : %TOTAL%
echo -----------------------------------------
rem ===== Convert =====
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"
echo -----------------------------------------
echo Done. Output: "%OUT%"
pause
goto :end
:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.jpg"
echo (%DONE%/%TOTAL%) %~nx1
if exist "%TARGET%" (
echo -> skip (exists)
) else (
magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% "%TARGET%"
if errorlevel 1 (echo -> FAIL) else (echo -> OK)
)
goto :eof
:end
endlocal
脚本 B:HEIC → WebP
heic2webp.bat 默认质量:85; 输出目录:converted_webp
@echo off
setlocal enableextensions
title HEIC to WEBP (fixed)
rem ===== Params =====
set "SRC=%~1"
if "%SRC%"=="" set "SRC=%CD%"
set "OUT=%~2"
if "%OUT%"=="" set "OUT=%SRC%\converted_webp"
set "QUALITY=%~3"
if "%QUALITY%"=="" set "QUALITY=85"
where magick >nul 2>&1 || (
echo [ERROR] magick.exe not found. Install ImageMagick first.
pause
goto :end
)
if not exist "%OUT%" mkdir "%OUT%" 2>nul
rem ===== Count (single pattern to avoid double count) =====
set /a TOTAL=0
for /r "%SRC%" %%F in (*.heic) do set /a TOTAL+=1
if %TOTAL% EQU 0 (
echo No HEIC files found in "%SRC%".
pause
goto :end
)
echo Source : %SRC%
echo Output : %OUT%
echo Format : WEBP
echo Quality: %QUALITY%
echo Files : %TOTAL%
echo -----------------------------------------
rem ===== Convert =====
set /a DONE=0
for /r "%SRC%" %%F in (*.heic) do call :DO_ONE "%%~fF"
echo -----------------------------------------
echo Done. Output: "%OUT%"
pause
goto :end
:DO_ONE
set /a DONE+=1
set "IN=%~1"
set "TARGET=%OUT%\%~n1.webp"
echo (%DONE%/%TOTAL%) %~nx1
if exist "%TARGET%" (
echo -> skip (exists)
) else (
magick "%IN%" -auto-orient -colorspace sRGB -quality %QUALITY% -define webp:method=6 "%TARGET%"
if errorlevel 1 (echo -> FAIL) else (echo -> OK)
)
goto :eof
:end
endlocal
三、使用方法
最简单(双击运行)
- 把
.bat
脚本放到有 HEIC 的文件夹。 - 双击运行,等待进度条完成。
- 输出在
converted_jpg
或converted_webp
目录(保留原有子目录结构)。
- 第 1 个参数:源目录(为空则默认当前目录)
- 第 2 个参数:输出目录(为空则默认
converted_xxx
) - 第 3 个参数:质量(1~100;JPG 建议 85~95,WebP 建议 75~90)
四、常见问题
1)运行脚本提示找不到 magick
?
安装 ImageMagick 时请勾选 “✅ Add application directory to your system path”,或重启命令行窗口后再试。
2)HEIC 无法读取?
用命令检查:magick -list format | findstr /I heic
。若无 HEIC 条目,换用推荐安装包重新安装(确保包含 HEIC/HEIF 支持)。
3)进度条不显示?
脚本调用的是内置 PowerShell(Windows 自带)。若被策略限制,可在 PowerShell 以管理员身份运行:Set-ExecutionPolicy RemoteSigned
。
4)是否会覆盖已存在文件?
脚本默认 跳过已存在同名目标文件(日志中会标注“跳过”)。你也可以改脚本:删除“已存在则跳过”的判断即可覆盖。
5)能否限制最大尺寸、同时压缩?
可以,在 magick
命令后追加 -resize 3000x3000\>
(长边不超过 3000px)。
6)显示数量正在转换的数量不对,甚至超过一倍?
对,这个是因为用了两个通配符:*.heic
*.HEIC
。Windows 文件系统大小写不敏感,for /r 的匹配也是不区分大小写的——结果同一张图会被两个模式各匹配一次,统计数就翻倍(甚至会尝试转换两次,不过我们脚本里“已存在则跳过”会挡住)。
五、简单效果对比
类型 | 大小 | 说明 |
---|---|---|
HEIC 原图 | 3.23 MB | iPhone 直出 |
JPG(质量 92) | 5.79 MB | 通用、打印分享友好 |
WebP(质量 85) | 2.49 MB | 适合网站/图床,省流量 |
.heic
转换成.jpeg
基本文件大小基本要增加80%,.heic
转换成.WebP
基本文件大小要减少23%,我总共139张照片,之前.heic
格式文件夹大小是238 MB,转换成.jpeg
后总文件大小是367 MB,转换成.WebP
后总文件大小是138 MB六、下载
2 本站永久网址:http://www.wzdao.com
3 本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ进行删除处理。
4 本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5 本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
暂无评论内容