将图像从一种格式批量转换为另一种格式?

将图像从一种格式批量转换为另一种格式?

我想将一批近 100 张图像从 jpg 格式转换为 png 格式。如何才能做到这一点而不重命名它们,而是实际转换格式?

答案1

尝试这些命令,

mogrify -format png /path/*.jpg    

这会将所有 .jpg 文件转换为 .png 文件,并将转换后的文件保存在同一目录中。

mv /path/*.png ~/Desktop/pic

这会将所有.png文件(已转换)移动到pic桌面上的目录。

免责声明:

如果你想保持图像的方向,你必须添加-auto-orient到命令中。你可以找出原因这里保持方向的 mogrify 命令如下所示:

mogrify -auto-orient -format png /path/*.jpg    

答案2

使用 ImageMagick

首先安装 imagemagick:

sudo apt-get install imagemagick

首先尝试只转换一张图片:

convert image.jpg image.png

现在转换全部:

mogrify -format png *.jpg

编辑

您还需要将其拆分成适合的块,以避免达到命令行中可以输入的内容的限制。这应该会更好:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

和用于处理文件名中的空格, 表示-print0如果没有事可做则不运行 mogrify。-0-r

来源:https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick

编辑2 根据@Glutanimate 的评论切换 png 和 jpg。

编辑3 在最后建议中将 png 更改为 jpg。

答案3

首先,转换有效。您无需测试它。其次,bash oneliner 满足需求:

$ for file in Ground*jpg; do { \
  echo "Converting $file to `echo $file|cut -d. -f1`.png" ;\
  convert $file `echo $file|cut -d. -f1`.png ; } done

摇滚吧老家伙 ;)

干杯

答案4

我知道这个问题提出来已经很久了,但是有一款我经常使用却未被提及的出色软件。

http://photobatch.wikidot.com/ 也称为 Phatch。它实际上可以将图像中的任何东西转换为任何其他东西。它已经有一段时间没有更新了,但现在声称已发布用于 ubuntu 17.10。试试看。我相信你会对它非常满意。

相关内容