OS Xでコマンドラインを使用してGIFファイルをPNGまたはJPEGに変換するにはどうすればよいですか?


15

自動化できるようにコマンドラインを使用してPNGまたはJPEGに変換する必要がある10k + GIFファイルがあります。品質や透明性を失うことは心配していません。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

何か案は?

回答:


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

これはsipsImageMagick を使用しますが、さらに優れています。これは素晴らしいツールです。brewホームページbrew参照してインストールすることをお勧めします


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.