.PNG
图像
.JPG
,反之亦然使用Linux命令行工具。 我们将使用在所有的例子
转换命令行工具,但是,您可以同时使用
mogrify来实现这一点。 使用
转换的语法是:
$ convert input-option input-file output-option output-file而对于 mogrify是:
$ mogrify options input-file注意 :使用 mogrify,原始图像文件被替换为默认情况下,新的图像文件,但它可以防止这一点,通过使用特定的选项,你可以在手册页找到。 下面是各种方法来批量转换所有
.PNG
图像
.JPG
格式,如果要转换
.JPG
为
.PNG
,您可以根据自己的需要修改的命令。
1.使用'ls'和'xargs'命令将PNG转换为JPG
该 允许你列出你所有的 PNG图像和 xargs的使人们有可能建立并从标准输入执行 convert命令将所有转换.png
图像
.jpg
。
----------- Convert PNG to JPG ----------- $ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"' ----------- Convert JPG to PNG ----------- $ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'有关上述命令中使用的选项的说明。
-1
-标志告诉ls列出每行一个图像。-n
-指定的参数的最大数量,这对于情况1。-c
-指示bash的运行给定的命令。${0%.png}.jpg
-设置新转换的图像的名称,%符号有助于消除旧的文件扩展名。
在Linux下将PNG转换为JPG格式
ls -ltr
命令
列出了修改日期和时间的所有文件 。 同样,您可以使用上面的命令来转换所有
.jpg
图像
.png
通过调整上面的命令。
2.使用GNU'Parallel'命令将PNG转换为JPG
GNU并行使用户能够建立和并行从标准输入执行shell命令。确保您的系统上安装了GNU Parallel,否则请使用以下适当的命令进行安装:$ sudo apt-get install parallel [On Debian/Ubuntu systems] $ sudo yum install parallel [On RHEL/CentOS and Fedora]一旦安装 并行实用程序,可以运行以下命令将所有转换
.png
图像
.jpg
格式,从标准输入。
----------- Convert PNG to JPG ----------- $ parallel convert '{}' '{.}.jpg' ::: *.png ----------- Convert JPG to PNG ----------- $ parallel convert '{}' '{.}.png' ::: *.jpg哪里,
{}
-输入线,是从输入源中读取的完整产品线取代替换字符串。{.}
-输入线减去扩展。:::
-指定输入信号源,也就是上面其中* PNG或JPG *是论点的例子在命令行。
并行命令 - 将所有PNG图像转换为JPG格式
----------- Convert PNG to JPG ----------- $ ls -1 *.png | parallel convert '{}' '{.}.jpg' ----------- Convert JPG to PNG ----------- $ ls -1 *.jpg | parallel convert '{}' '{.}.png'
3.使用'for循环'命令将PNG转换为JPG
为了避免编写shell脚本的喧嚣,您可以执行一个for loop
如下命令行:
----------- Convert PNG to JPG ----------- $ bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done' ----------- Convert JPG to PNG ----------- $ bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'上述命令中使用的每个选项的说明:
- -c允许执行在单引号循环语句。
- 图像变量是在目录中的图像数量的计数器。
- 对于每个转换操作中, echo命令通知PNG图像已被转换到行$图像 jpg格式,反之亦然用户转换为$ {图片%巴纽} .JPG“。
- “$ {图片%巴纽} .JPG”创建转换的图像,其中%删除旧的图像格式的扩展名。
for循环 - 将PNG转换为JPG格式
4.使用Shell脚本将PNG转换为JPG
如果你不想像前面的例子那样让你的命令行变脏,写一个小脚本,如: 注意 :适当互换.png
和
.jpg
扩展在下面的转换的例子从一种格式转换为另一种。
#!/bin/bash #convert for image in *.png; do convert "$image" "${image%.png}.jpg" echo “image $image converted to ${image%.png}.jpg ” done exit 0将其保存为
convert.sh
,使脚本可执行文件,然后从具有图像的目录中运行它。
$ chmod +x convert.sh $ ./convert.sh
使用Shell脚本进行批处理图像转换
.png
图像
.jpg
格式,反之亦然。 如果你想优化的图像,你可以通过我们的指南,介绍
如何在Linux的压缩PNG和JPG图片 。 你可以跟我们以及共享任何其他方法,包括 从一种格式转换图像到另一个终端上,或者要求通过下面的评论部分的问题。