如何使用Python将JPG格式图片转换为AVIF格式
JPG转AVIF格式Python工具解决方案
目前已有多个成熟的Python方案可实现JPG到AVIF格式的转换,常用方案如下:
- 方案1:新版Pillow原生支持
Pillow 9.1.0及以上版本已经原生支持AVIF格式读写,无需额外安装插件,是目前最便捷的实现方案,使用示例如下:
from PIL import Image # 读取本地JPG文件 with Image.open("input.jpg") as img: # 导出为AVIF格式,quality参数控制输出质量,取值范围0-100,默认值为75 img.save("output.avif", quality=80)
如果安装后运行提示不支持AVIF格式,可先卸载现有Pillow版本,重新安装带完整编码支持的预编译版本,或自行编译Pillow时关联libavif依赖即可。
- 方案2:第三方插件适配旧版Pillow
如果因项目兼容性限制无法升级Pillow到9.1.0以上版本,可以安装pillow-avif-plugin扩展插件实现AVIF支持,操作步骤如下:
- 安装依赖包:
pip install pillow pillow-avif-plugin - 代码示例:
from PIL import Image import pillow_avif with Image.open("input.jpg") as img: img.save("output.avif", quality=80)
- 方案3:Wand库实现转换
如果你的运行环境已经安装了带AVIF编码支持的ImageMagick,也可以使用其Python绑定库Wand完成转换,代码示例如下:
from wand.image import Image with Image(filename="input.jpg") as img: img.format = "avif" img.save(filename="output.avif")
小提示:转换时可根据自身使用场景调整quality参数取值,平衡最终输出的文件体积和画面质量。
内容的提问来源于stack exchange,提问作者Ander
相关产品推荐
相关产品推荐

