如何在OS X中使用命令行将GIF文件转换为PNG或JPEG?


15

我有10k +个GIF文件,最好使用命令行将其转换为PNG或JPEG,这样我才能使其自动化。我不必担心会失去质量或透明度,只需要为OCR软件准备文件即可。

当尝试使用时convertformat,我得到了:

Error in pixReadStreamGif: function not present
Error in pixReadStream: gif: no pix returned
Error in pixRead: pix not read
Error in pixGetDepth: pix not defined
Error in pixWrite: pix not defined

有任何想法吗?

Answers:


34

无需任何其他工具。OS X具有sips,可以将图像转换为(几乎)任何格式。

例如,要将每个转换.gif.jpeg,将它们放入一个名为的文件夹中jpegs

mkdir jpegs
sips -s format jpeg ./*.gif --out jpegs

或者,要使用进行递归转换find,将在其旁边放置一个与GIF同名的JPEG文件。

find . -iname "*.gif" -type f -exec sh -c 'sips -s format jpeg "$0" --out "${0%.gif}.jpeg"' {} \;

man sips ←本手册页面适用于Mac OS X 10.9版:sips-可编写脚本的图像处理系统。
iolsmit

2

我看到的是一个比较老的问题,但是不幸的是,slhck的解决方案2对我不起作用(OS X Mountain Lion,bash),但我遇到了错误。

这对我有用(cd my_dir_with_gif当然是在命令之后):

for i in *.gif; do sips -s format jpeg "${i}" --out "${i%gif}jpg"; done

如果您还想设置jpg压缩率([low|normal|high|best|<percent>]

for i in *.gif; do sips -s format jpeg -s formatOptions 100 "${i}" --out "${i%jpg}png"; done

对于其他格式,您应该更改扩展名(记住sips jpg格式始终为jpeg,扩展名可能为.jpg

使用sips更好的ImageMagick。这是一个伟大的工具,我建议安装使用它brew看到BREW主页


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.