Go 图片转 AVIF 工具:image2avif

2025-10-27/码农修仙/共4097字/暂无评论

转图总掉坑里?格式不兼容得手动转、批量处理慢得让人烦、转完画质糊还占地方?

别瞎琢磨了,image2avif 这玩意儿能救场 —— 轻量没广告,就专门解决 “图片转 AVIF” 的破事儿,

不管你用 Windows、Linux 还是 macOS,都能用。

工具基本信息

  • 工具名:image2avif
  • 体积:就 2.8M 大小,塞电脑里不占地儿
  • 支持系统:Windows、Linux、macOS 全涵盖,不挑设备

去哪找它?

核心功能:解决你转图的破麻烦

  1. 多格式 “通吃”:PNG、BMP、JPG/JPEG、WEBP、GIF 这 5 种常用的,不用你手动转源文件,丢进去它自己就认,省得你瞎折腾
  2. 画质你自己定:压缩质量能调(1-100),默认 80 分 —— 想高清就往高了调,想省空间就往低了拉,两边都能顾着
  3. 不做重复活:默认跳过已经转好的 AVIF 文件,怕覆盖错了?加个-f参数就能强制换旧文件
  4. 批量转图不磨叽:支持用*.png这类通配符选文件,还自带 4 协程并发,一次转 100 张图也不用等半天
  5. 进度看得明白:转的时候实时显每张图成没成,结束了还告诉你总耗时、成功 / 失败数量,不用瞎猜

二、转好的 AVIF 图,浏览器能打开不?

别瞎操心,主流浏览器都能打开,看下面表格就清楚:

浏览器支持版本简单说明
Chrome85+直接开,不用额外瞎设置
Firefox93+默认就开着支持,不用你瞎调
Safari16+苹果全平台能用,iOS 16 + 也支持
Edge85+和 Chrome 一样,用的 Chromium 内核
Opera71+原生就支持,不用装插件
微信内置浏览器7.0.22+新版微信都能用,日常分享图没问题

三、咋用?新手也能整明白

1. 先把工具弄到手(就俩办法)

方法 1:直接下载用(新手优先选这个)

去上面的 “下载链接” 里,选自己系统对应的压缩包,解压了就能用,不用装那些复杂插件!

方法 2:自己编译(适合爱折腾的主儿)

要是想从源码编译,不同系统步骤不一样,跟着输命令就行,别写错了:

Windows 系统(得先装 MSYS64,打开 “MSYS2 UCRT64” 窗口输命令):

# 先更新系统包
pacman -Syu

# 确保所有包都是最新的
pacman -Su

# 装编译工具和依赖
pacman -S mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-pkg-config mingw-w64-ucrt-x86_64-libavif mingw-w64-ucrt-x86_64-aom

# 最后打包工具
go build -ldflags="-w -s" .

Linux 系统(以 Debian 12 为例):

# 更新软件库
apt update -y

# 装依赖
apt install libaom-dev pkg-config libwebp libavif-dev

# 编译
go build -ldflags="-w -s" .

macOS 系统(用 brew 装依赖):

# 装需要的依赖
brew install libavif aom pkg-config libwebp

# 编译工具
go build -ldflags="-w -s" .

2. 关键参数:记这几个就够了

参数作用例子(啥时候用)
-q N调压缩质量(1-100)-q 90(转产品图、高清壁纸)
-f强制覆盖旧 AVIF 文件想换之前转错的图时用
-v看工具版本不确定是不是最新版时查
-h看完整帮助忘了参数咋用,输这个看

3. 常用操作:跟着抄就行

# 1. 转单个文件(默认质量80,日常用妥妥的)
image2avif 旅行照片.jpg

# 2. 转高清图(质量90,适合转产品细节图)
image2avif -q 90 手机产品.png

# 3. 批量转当前文件夹的PNG和JPG
image2avif \*.png \*.jpg

# 4. 强制覆盖旧文件(质量85,比如更老照片)
image2avif -f -q 85 老照片\*.jpg

4. 新手福利:拖放就能转(BAT 脚本)

不想输命令?省事的来 —— 存个 BAT 文件,拖图片 / 文件夹上去就转,默认质量 80,想调画质,直接改脚本里的数字就成:

@echo off​
:: image2avif 拖放转换脚本(默认质量 80)​
set "quality=80"  :: 可改 1-100 的数值​
​
if "%~1"=="" (​
    echo 请拖放图片/文件夹到本脚本!​
    pause​
    exit /b 1​
)​
​
:: 遍历拖放的路径​
for %%i in (%*) do (​
    if exist "%%i\" (​
        echo 处理文件夹:%%i​
        image2avif -q %quality% "%%i\*.png" "%%i\*.jpg" "%%i\*.jpeg" "%%i\*.bmp" "%%i\*.webp" "%%i\*.gif"​
    ) else (​
        echo 处理文件:%%i​
        image2avif -q %quality% "%%i"​
    )​
)​
​
echo 处理完成!​
pause

四、实测:到底快不快?省多少空间?

光说不练假把式,直接上测试数据:

测试环境

  • 电脑:Windows 11 AMD3600 16g SSD
  • 测试文件:10 张 JPG 壁纸(总大小 27.5MB,日常照片差不多这规模)
  • 工具设置:默认质量 80,4 协程并发

实测结果(够给力!)

指标数据大白话解释
总处理耗时31.348 秒转 10 张图连半分钟都用不了
转换后总大小3.13MB比原来少了 24MB 还多
体积压缩比11%(原 27.5MB)压缩后就剩原来的 1/9!
成功转换率100%一张都没失败,稳定性还挺靠谱
画质表现肉眼看不出模糊省了空间,画质没缩水

实图对比:你能分清哪个是 AVIF 不?

左图:JPG 格式(1.16MB) | 右图:AVIF 格式(189KB)

肉眼几乎没差别,但体积差了 6 倍!

jpg文件(1.16M)avif文件(189K)

五、总结:谁该用这工具?

image2avif 没那些花里胡哨的功能,就专心干 “批量转 AVIF” 这事儿,还干得挺到位:

  • 浏览器兼容性拉满,转好的图哪儿都能打开;
  • 新手靠拖放脚本就能上手,老手能调参数精准控制;
  • 省空间还快,画质也不糊。

不管你是做网页开发(优化图片加载速度)、管手机 / 电脑照片(省存储空间),还是日常要转图,用它都合适 —— 关键是轻量还免费,试试就知道香不香!

正文完

AI课代表总结

哇!太赞了!这个 `image2avif` 工具简直是为我这种图片党量身定做的!👍 AVIF 压缩效果那么好,之前一直苦于没有好用的工具,每次转图都好麻烦。你这个 Go 语言写的工具,支持格式多,质量还能调,还有批量和并发处理,简直是效率神器!尤其是那个 BAT 拖放脚本,小白也能轻松上手,太贴心了!实测数据也太给力了,体积压缩了这么多,加载速度提升也太明显了!必须马克一下,赶紧去 GitHub 试试!感谢分享!

暂无评论