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


44

我想将近100张图像从jpg转换为png格式。如何在不重命名的情况下执行此操作,而是实际转换格式?


使用convert命令。不完全是。但是您将需要将它们从something.jpg重命名为something.png。
2014年

1
@jos,根据您的评论,我不知道该怎么办!
opu 2​​014年

我尚未完成编辑;-)首先,convert在单个.jpg文件上使用该命令,然后查看其是否有效。然后,编写一个遍历.jpg文件并将其转换为.png文件的脚本。
2014年

您没有提到如何convert在单个.jpg文件中使用该命令。而且我不知道如何编写循环.jpg文件的脚本。
opu 2​​014年

Answers:


63

试试这些命令

mogrify -format png /path/*.jpg    

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

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

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


我应该更改目录吗?
opu 2​​014年

1
/path/*.jpg表示.jpg文件的存储目录。
Avinash Raj 2014年

更改目录后,我也尝试了此命令:mogrify -format png .jpg这也很好。
opu 2​​014年

下面的答案更好,因为它考虑了对ARGV的限制。
埃文·卡罗尔

这里有一个很好的指南:algissalys.com/how-to / ...还介绍了更改图像的大小,这很有用。添加-resize 800x会将最长边更改为800 :)
Craig Lambie

41

使用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-0用于处理空间中的文件名和-r手段不运行mogrify如果有什么可以做。

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

编辑2 按照@Glutanimate的注释切换png和jpg。

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


一幅图像转换成功。但是,当我使用命令转换其所有显示时 mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu 2​​014年

您将必须首先cd进入该目录。如果它们在桌面上,cd ~/Desktop请先运行然后再尝试转换。
Parto

我更改了目录
opu 2​​014年

@Parto我认为应该是mogrify -format png *.jpg。OP正在询问有关转换jpg→png的问题。
Glutanimate 2014年

在14.04 @Parto下对我不起作用
talha06 2016年

0

我知道提出这个问题已经有很长的时间了,但是我经常使用其中的一款出色的软件,但并未提及。

http://photobatch.wikidot.com/ 也称为Phatch。它从字面上将任何内容从任何内容转换为其他任何内容。它已经有一段时间没有更新了,但是现在声称要为ubuntu 17.10发行。试试看。我相信您会对此感到非常满意。


2
试图获取此软件,上面的链接中缺少指向deb文件的“下载”链接,而Ubuntu“存储”版本给了我这个错误:软件包管理器的详细错误如下:apt事务返回了结果,退出失败,Ubuntu v 18.10也许?无论如何-我的经验。
克雷格·兰比
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.