如何在 Linux 中将图片转换为 WebP 格式?

linuxopen sourceoperating system

在当今的数字时代,图片在网站和各种数字项目中扮演着至关重要的角色。但是,图片越大,加载时间越长,从而导致用户体验不佳。您可能想知道这个问题的解决方案。幸运的是,谷歌开发了 WebP 图片格式,与 JPEG 和 PNG 等传统图片格式相比,它提供了卓越的压缩率和质量。在本文中,我们将深入探讨如何在 Linux 上使用 WebP 工具将图片转换为 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 命令导航到包含要转换的图像的目录。例如,如果您的图片位于 Pictures 文件夹中,您可以使用以下命令导航到该文件夹​​。

cd ~/Pictures
  • 将图片转换为 WebP 格式 − 进入图片所在目录后,您可以使用 cwebp 命令将其转换为 WebP 格式。以下是 cwebp 命令的基本语法。

cwebp [options] input_file -o output_file

Here is the terminal example of output for reference how it’ll look like −

$ cwebp -q 80 input.jpg -o output.webp
Input file size: 1024x768 pixels
Output file size: 120 KB
Output file: output.webp

以下是每个部分的详细说明 -

  • cwebp - 这是将图像转换为 WebP 格式的命令。

  • [options] - 这些是可选参数,您可以使用它们来自定义输出图像。在此示例中,我们将使用 -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 格式的图片查看器或网页浏览器查看输出文件。

步骤 3:批量转换

有时,您可能需要将多张图片转换为 WebP 格式。您无需逐一转换每张图片,而是可以使用循环一次性转换目录中的所有图片。操作方法如下:

  • 打开终端窗口,并导航到包含要转换的图片的目录。

  • 使用以下命令转换目录中的所有 JPEG 图片。

for i in *.jpg; do cwebp -q 80 "$i" -o "${i%.jpg}.webp"; done

让我们分解一下这个命令 -

  • for i in *.jpg 是一个循环,它会遍历目录中每个以 .jpg 为扩展名的文件。变量 $i 用于表示循环中的每个文件。

  • do cwebp -q 80 "$i" -o "${i%.jpg}.webp"; 是将每张图片转换为 WebP 格式的命令。-q 标志将输出图片的质量设置为 80(您可以根据需要更改此值)。$i 变量用于指定输入文件名,${i%.jpg}.webp 用于确定输出文件名。${i%.jpg} 会从输入文件名中删除 .jpg 扩展名,并在末尾添加 .webp 以指定输出文件格式。

  • done 结束循环。

因此,当您运行此命令时,循环将遍历目录中的每个 JPEG 文件,使用 cwebp 命令将其转换为 WebP 格式,并将以 .webp 扩展名结尾的输出文件保存在同一目录中。原始 JPEG 文件不会被修改或删除。

注意− 如果您拥有不同文件扩展名的图片,或者想要转换目录中的所有图片,您可以相应地修改命令。例如,如果您拥有 PNG 图片,则可以使用 for i in *.png 而不是 for i in *.jpg。

结论

总而言之,将图片转换为 WebP 格式是提高网站加载速度的绝佳方法,同时又不影响图片质量。本文提供了在 Linux 中使用 cwebp 命令将图片转换为 WebP 格式的分步指南。我们还演示了如何使用循环一次转换多张图片。按照这些说明,您将能够通过将图片转换为 WebP 格式来轻松优化网站的加载时间。这些新知识将帮助您提升网站的整体用户体验,使其更易于访问。


相关文章


有用资源