コマンドラインで画像ファイル形式を変換する & sips
OS X (およびほとんどの Linux ディストリビューション) に直接組み込まれているさまざまなツールのおかげで、イメージを新しいファイル形式に変換するのは非常に簡単です。最も簡単な方法はプレビューを使用して画像を変換する方法ですが、以前に説明したのと同じ sips ツールを使用してコマンド ラインからバッチ サイズ変更を実行するコマンド ライン オプションがあります。sips を使用すると、単一の画像を新しい画像形式に変換したり、バッチ画像変換を実行したりすることもできます。
コマンドラインからの簡単な画像変換
一口で単一の画像を変換するには、次のコマンド文字列構文を使用します:
sips -s format --out
たとえば、「test.jpg」という名前のファイルを PNG に変換する場合、sips 構文は次のようになります:
sips -s format png test.jpg --out test.png
sips によるバッチ画像変換
画像のグループを変換するのは少しトリッキーで、一口でサイズを変更するときのような単純なワイルドカードを使用すると、まったく同じようには機能しません。のような一般的なワイルドカードを使用してもファイルの名前が変更されないことがわかります。そのため、代わりに次のコマンド構文で非常に単純なシェル スクリプトを使用します:
for i in ; do sips -s format $i --out /$i.;done
for i in .jpeg; do sips -s format png $i --out Converted/$i.png;done
そのコマンドを実行すると、すべての JPEG 画像が新しいディレクトリで PNG 形式に変換される場合があります。
潜在的に迷惑なキャッチは、結果のファイル名に元のファイルタイプも含まれることです。ファイル拡張子は正しいままです。これは名前の問題に過ぎません。最初に名前を変更し、その後、正規表現を使用して同様の bash スクリプトを使用して適切なファイル拡張子を追加するか、mv. を使用して手動で名前を変更することで、これを回避できます。
一部のファイル形式で sips を実行すると、exif データに関する「lingpng 警告」エラーが発生する場合がありますが、これらのエラーはほとんどの場合無視でき、画像変換は引き続き行われます。
バッチ変換のアイデアを提供してくれた Thom に感謝します