在 Linux 中,我们可以使用一些命令行工具将图像文件格式从 PNG 转换为 JPG,将 JPG 转换为 PNG。 它将有助于压缩图像大小并更快地加载图像。
有不同的命令行工具可用于此类目的。 其中一些工具是 Convert,它是 ImageMagick 工具的成员。 Mogrify 命令也可用于转换此类图像格式。
首先,使用以下命令安装所需的包:
$ sudo apt install imagemagick
在这里,我们将使用转换命令行工具。 convert 命令的基本语法如下:
$ convert [input-option] input-file [output-option] output-file
下面讨论将 PNG 转换为 JPG 和将 JPG 转换为 PNG 的不同方法:
如何使用“ls”和“xargs”命令将PNG转换为JPG
在这里,“ls”命令将列出所有 jpg 图像和 xargs 帮助构建和执行转换命令。
将 JPG 转换为 PNG
$ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'
将 PNG 转换为 JPG
$ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'
这里,
-1 = 此标志通知“ls”每行列出 1 个图像
-n = 用于指定参数的最大数量。 这里使用1。
-c = 它告诉 bash 运行提供的命令。
${0%.jpg}.png = 用于设置新转换图像的名称,% 符号用于删除旧文件扩展名。
您可以注意到我们已经使用上述命令成功地将 png 转换为 jpg 格式。 您还可以使用上述命令将 jpg 转换为 png。
如何使用 Shell 脚本将 PNG 转换为 JPG
我们将编写一个小脚本来将 png 更改为 jpg,反之亦然。 这样的脚本看起来会更清晰。 例如:
#!/bin/bash for image in *.png; do convert "$image" "${image%.png}.jpg" echo "image $image converted to ${image%.png}.jpg" done exit 0
现在将其保存为 test.sh 并运行如下命令使其可执行。 现在转到保存图像的目录并运行脚本。
您还可以通过对上述脚本的小改动将 jpg 转换为 png。
$ sudo chmod +x test.sh
$ ./test.sh