Linux 如何将图片转换为WebP格式
在当今数字时代,图片在网站和各种数字项目中起着至关重要的作用。但是,图片越大,加载时间越长,这会导致用户体验差。你可能想知道解决方案。幸运的是,谷歌开发了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格式的命令。
-
[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格式是一种提高网站加载速度而不会损害图像质量的好方法。本文提供了使用cwebp命令在Linux中将图像转换为WebP格式的逐步指南。我们还演示了如何利用循环一次性转换多个图像。按照这些说明,通过将图像转换为WebP格式,您将能够轻松优化网站的加载时间。这些新的知识将使您能够增强网站的整体用户体验,使其更易于被您的受众访问。