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

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

我有 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

有任何想法吗?

答案1

无需任何额外的工具。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"' {} \;

答案2

我看到了一个相当老的问题,但不幸的是 slhck 的解决方案二对我来说不起作用(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 主页

答案3

查看图形魔法或者图像魔术师,他们有用于处理各种图形文件的命令行工具(包括转换成另一种格式等无聊的操作)。

相关内容