WebP 是一种现代图像格式,可为 Web 上的图像提供出色的无损和有损压缩。使用 WebP,网站管理员和 Web 开发人员可以创建尺寸更小、内容更丰富的图像,从而使 Web 更快。本文将指导您如何使用 Google 官方提供的 `libwebp` 工具包批量将您现有的图片(如 JPG, PNG, BMP, GIF 等)转换为 WebP 格式。 #### 1、下载libwebp 打开https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html,划到底部找到最新版本,根据操作系统选择合适的版本。 比如Windows选择[libwebp-1.4.0-windows-x64.zip](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-windows-x64.zip),macOS X86选择[libwebp-1.4.0-rc1-mac-x86-64.tar.gz](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-x86-64.tar.gz),macOS ARM选择[libwebp-1.4.0-rc1-mac-arm64.tar.gz](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-arm64.tar.gz)……根据你的实际情况来 #### 2、准备脚本 将下载的文件解压,在解压出来的文件夹旁边再创建两个叫“input”和“output”的文件夹,然后>>> ##### Windows 创建一个名为c.bat的脚本文件,并用记事本写入: ```bat @echo offss setlocal enabledelayedexpansion :: 设置输入文件夹路径 set "input_folder_path=input" :: 设置输出文件夹路径 set "output_folder_path=output" :: 检查输出文件夹是否存在,如果不存在则创建 if not exist "%output_folder_path%" mkdir "%output_folder_path%" :: 设置cwebp工具的路径,如果cwebp在环境变量中,则不需要设置 :: set "cwebp_path=C:\path\to\cwebp\cwebp.exe" :: 遍历输入文件夹中的所有图像文件 for %%i in ("%input_folder_path%\*.jpg", "%input_folder_path%\*.jpeg", "%input_folder_path%\*.png", "%input_folder_path%\*.bmp", "%input_folder_path%\*.gif") do ( :: 构建输出文件名 set "output_file=%output_folder_path%\%%~ni.webp" :: 使用cwebp转换图像文件 :: 如果cwebp在环境变量中,直接使用cwebp,否则使用完整的路径 :: 替换下面的cwebp为%cwebp_path%,如果你设置了cwebp工具的路径 cwebp -q 80 "%%i" -o "!output_file!" :: 输出转换结果 echo Converted %%i to !output_file! ) echo All images have been converted. endlocal ``` ##### macOS/Linux 创建一个名为c.sh的脚本文件,并用纯文本编辑器写入: ```shell #!/bin/bash input_folder="./input" output_folder="./output" cwebp_folder="/Users/yanyige/Desktop/libwebp-1.4.0-rc1-mac-x86-64/bin/" #cwebp的位置,改成你自己的 # 创建输出文件夹(如果不存在) mkdir -p "$output_folder" # 遍历输入文件夹中的图像文件 for img in "$input_folder"/*.{jpg,jpeg,png}; do # 检查文件是否存在 [ -e "$img" ] || continue # 获取文件名和扩展名 filename=$(basename "$img") extension="${filename##*.}" filename_no_ext="${filename%.*}" # 转换为 WebP 格式 "$cwebp_folder"cwebp "$img" -o "$output_folder/${filename_no_ext}.webp" done ``` 保存好,最后,确认libwebp文件夹、input文件夹、output文件夹、c.ps1(sh)脚本在同一文件夹,脚本中的路径替换为实际的 ### 3、使用 将你需要转换的图片放到input文件夹,运行c.bat(sh) 如果你看到终端大量类似这样的提示 ```bat Saving file './output/images1.webp' File: ./input/images1.jpg Dimension: 1920 x 1080 Output: 25226 bytes Y-U-V-All-PSNR 48.27 48.33 49.54 48.47 dB (0.10 bpp) block count: intra4: 1076 (13.19%) intra16: 7084 (86.81%) skipped: 4414 (54.09%) bytes used: header: 120 (0.5%) mode-partition: 7875 (31.2%) Residuals bytes |segment 1|segment 2|segment 3|segment 4| total macroblocks: | 3%| 5%| 3%| 89%| 8160 quantizer: | 36 | 36 | 31 | 24 | filter level: | 11 | 9 | 27 | 10 | ``` 打开output文件夹也有很多生成的webp文件,那就说明可以了。 Loading... WebP 是一种现代图像格式,可为 Web 上的图像提供出色的无损和有损压缩。使用 WebP,网站管理员和 Web 开发人员可以创建尺寸更小、内容更丰富的图像,从而使 Web 更快。本文将指导您如何使用 Google 官方提供的 `libwebp` 工具包批量将您现有的图片(如 JPG, PNG, BMP, GIF 等)转换为 WebP 格式。 #### 1、下载libwebp 打开https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html,划到底部找到最新版本,根据操作系统选择合适的版本。 比如Windows选择[libwebp-1.4.0-windows-x64.zip](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-windows-x64.zip),macOS X86选择[libwebp-1.4.0-rc1-mac-x86-64.tar.gz](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-x86-64.tar.gz),macOS ARM选择[libwebp-1.4.0-rc1-mac-arm64.tar.gz](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0-rc1-mac-arm64.tar.gz)……根据你的实际情况来 #### 2、准备脚本 将下载的文件解压,在解压出来的文件夹旁边再创建两个叫“input”和“output”的文件夹,然后>>> ##### Windows 创建一个名为c.bat的脚本文件,并用记事本写入: ```bat @echo offss setlocal enabledelayedexpansion :: 设置输入文件夹路径 set "input_folder_path=input" :: 设置输出文件夹路径 set "output_folder_path=output" :: 检查输出文件夹是否存在,如果不存在则创建 if not exist "%output_folder_path%" mkdir "%output_folder_path%" :: 设置cwebp工具的路径,如果cwebp在环境变量中,则不需要设置 :: set "cwebp_path=C:\path\to\cwebp\cwebp.exe" :: 遍历输入文件夹中的所有图像文件 for %%i in ("%input_folder_path%\*.jpg", "%input_folder_path%\*.jpeg", "%input_folder_path%\*.png", "%input_folder_path%\*.bmp", "%input_folder_path%\*.gif") do ( :: 构建输出文件名 set "output_file=%output_folder_path%\%%~ni.webp" :: 使用cwebp转换图像文件 :: 如果cwebp在环境变量中,直接使用cwebp,否则使用完整的路径 :: 替换下面的cwebp为%cwebp_path%,如果你设置了cwebp工具的路径 cwebp -q 80 "%%i" -o "!output_file!" :: 输出转换结果 echo Converted %%i to !output_file! ) echo All images have been converted. endlocal ``` ##### macOS/Linux 创建一个名为c.sh的脚本文件,并用纯文本编辑器写入: ```shell #!/bin/bash input_folder="./input" output_folder="./output" cwebp_folder="/Users/yanyige/Desktop/libwebp-1.4.0-rc1-mac-x86-64/bin/" #cwebp的位置,改成你自己的 # 创建输出文件夹(如果不存在) mkdir -p "$output_folder" # 遍历输入文件夹中的图像文件 for img in "$input_folder"/*.{jpg,jpeg,png}; do # 检查文件是否存在 [ -e "$img" ] || continue # 获取文件名和扩展名 filename=$(basename "$img") extension="${filename##*.}" filename_no_ext="${filename%.*}" # 转换为 WebP 格式 "$cwebp_folder"cwebp "$img" -o "$output_folder/${filename_no_ext}.webp" done ``` 保存好,最后,确认libwebp文件夹、input文件夹、output文件夹、c.ps1(sh)脚本在同一文件夹,脚本中的路径替换为实际的 ### 3、使用 将你需要转换的图片放到input文件夹,运行c.bat(sh) 如果你看到终端大量类似这样的提示 ```bat Saving file './output/images1.webp' File: ./input/images1.jpg Dimension: 1920 x 1080 Output: 25226 bytes Y-U-V-All-PSNR 48.27 48.33 49.54 48.47 dB (0.10 bpp) block count: intra4: 1076 (13.19%) intra16: 7084 (86.81%) skipped: 4414 (54.09%) bytes used: header: 120 (0.5%) mode-partition: 7875 (31.2%) Residuals bytes |segment 1|segment 2|segment 3|segment 4| total macroblocks: | 3%| 5%| 3%| 89%| 8160 quantizer: | 36 | 36 | 31 | 24 | filter level: | 11 | 9 | 27 | 10 | ``` 打开output文件夹也有很多生成的webp文件,那就说明可以了。 © 允许规范转载 赞 2 如果觉得我的文章对你有用,请随意赞赏