如何在 Linux 中将图像转换为 WebP 格式?
在当今的数字时代,图像在网站和各种数字项目中发挥着至关重要的作用。但是,图像尺寸越大,加载时间越长,导致用户体验较差。您可能想知道这个问题的解决方案。幸运的是,Google 开发了 WebP 图像格式,与 JPEG 和 PNG 等传统图像格式相比,它提供了卓越的压缩和质量。在本文中,我们将深入研究如何使用 WebP 工具在 Linux 上将图像转换为 WebP 格式。通过将图像转换为 WebP 格式,您可以显着减小其文件大小,从而提高网站性能并增强用户体验。
第1步:安装WebP工具
打开 Linux 计算机上的终端。
在终端中运行以下命令。
sudo apt-get install webp
以下命令将生成如下所示的输出 -
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
webp
0 upgraded, 1 newly installed, 0 to remove and 10 not upgraded.
Need to get 89.6 kB of archives.
After this operation, 292 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 webp amd64 0.6.1-2 [89.6 kB]
Fetched 89.6 kB in 1s (86.6 kB/s)
Selecting previously unselected package webp.
(Reading database ... 146234 files and directories currently installed.)
Preparing to unpack .../webp_0.6.1-2_amd64.deb ...
Unpacking webp (0.6.1-2) ...
Setting up webp (0.6.1-2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
输出以一条正在读取包列表的消息开始,然后是正在构建的依赖关系树和正在读取的状态信息。然后,输出显示 webp 软件包是唯一将安装的新软件包,并且它将占用 89.6 kB 的磁盘空间。
接下来,从 Ubuntu 档案中下载该软件包,然后将其安装在系统上。最后,输出显示 man-db 包正在被触发,这会更新系统的手册页。
等待安装过程完成。这可能需要几分钟,这取决于您的互联网速度和系统规格。
安装完成后,您可以通过运行以下命令来验证 WebP 工具是否已安装 −
cwebp -version
这是 cwebp -version 命令的终端输出 −
WebP Encoder version 1.1.0
此输出显示 cwebp 命令的版本,在本例中为 1.1.0。 cwebp命令用于在Linux中将图像转换为WebP格式。您可以将‘-version’选项与许多其他可用于显示版本信息的Linux命令一起使用。
现在您已在 Linux 系统上成功安装了 WebP 工具,现在可以按照后续步骤使用 cwebp 命令将图像转换为 WebP 格式 −
第 2 步:将图像转换为 WebP 格式
打开终端 − 打开通过按键盘上的 Ctrl+Alt+T 或在“应用程序”菜单中搜索“终端”来打开终端。
导航到包含图像的目录− 使用 cd 命令导航到包含要转换的图像的目录。例如,如果您的图像位于“图片”文件夹中,您可以使用以下命令导航到该文件夹。
cd ~/Pictures
将图像转换为 WebP 格式 − 进入包含图像的目录后,您可以使用 cwebp 命令将其转换为 WebP 格式。这是 cwebp 命令的基本语法。
cwebp [options] input_file -o output_file
这是输出的终端示例,供参考,它的外观如下 -
$ cwebp -q 80 input.jpg -o output.webp
Input file size: 1024x768 pixels
Output file size: 120 KB
Output file: output.webp
这是每个部分的详细解释 -
cwebp− 这是命令将图像转换为 WebP 格式。
[选项] − 这些是可用于自定义输出图像的可选参数。在此示例中,我们将使用 -q 选项来指定输出图像的质量。
input_file − 这是名称您要转换的图像文件的名称。
-o − 用于输出文件,该选项指定名称
output_file − 这是名称您想要提供输出文件。
以下是如何使用 cwebp 命令将名为 my_image.jpg 的图像转换为 WebP 格式的示例 -
cwebp -q 80 my_image.jpg -o my_image.webp
您可能会得到熟悉的终端输出 -
Input file size: 654 KB
Output file size: 215 KB
在此示例中,我们使用 -q 选项将输出图像的质量设置为 80(满分 100)。我们还指定了输入文件 (my_image.jpg) 和输出文件 (my_image.webp)。
查看输出文件− 一次转换完成后,您可以使用图像查看器或支持WebP格式的网络浏览器查看输出文件。
第三步:批量转换
有时,您可能有多个图像需要转换为 WebP 格式。您可以使用循环一次转换目录中的所有图像,而不是一张一张地转换每个图像。操作方法如下:
打开终端窗口并导航到包含要转换的图像的目录。
使用以下命令转换目录中的所有 JPEG 图像。
for i in *.jpg; do cwebp -q 80 "$i" -o "${i%.jpg}.webp"; done
让我们分解一下这个命令 -
for i in *.jpg 是一个循环,迭代目录中具有 .jpg 扩展名的每个文件。变量$i用于表示循环中的每个文件。
执行 cwebp -q 80 "$i" -o "$ {i%.jpg}.webp";是将每个图像转换为 WebP 格式的命令。 -q 标志将输出图像的质量设置为 80(如果需要,可以更改此值)。 $i 变量用于指定输入文件名,$ {i%.jpg}.webp 用于确定输出文件名。 $ {i%.jpg} 从输入文件名中删除 .jpg 扩展名,并在末尾添加 .webp 以指定输出文件格式。
完成结束循环。
因此,当您运行此命令时,循环将迭代目录中的每个 JPEG 文件,使用 cwebp 命令将其转换为 WebP 格式,并将具有 .webp 扩展名的输出文件保存在同一目录中。原始 JPEG 文件不会被修改或删除。
注意- 如果您有不同文件扩展名的图像或想要转换目录中的所有图像,您可以相应地修改命令。例如,如果您有 PNG 图像,则可以使用 for i in *.png 而不是 for i in *.jpg。
结论
总而言之,将图像转换为 WebP 格式是提高网站加载速度而不影响图像质量的好方法。本文提供了有关如何在 Linux 中使用 cwebp 命令将图像转换为 WebP 格式的分步指南。我们还演示了如何利用循环一次转换多个图像。通过遵循这些说明,您将能够通过将图像转换为 WebP 格式来轻松优化网站的加载时间。这些新发现的知识将使您能够增强网站的整体用户体验,使您的受众更容易访问。