conocode
このコード
トラブルシューティング

Mac の sips コマンドで画像のサイズを変更しようとしたらエラー Error: Unable to render destination image

Mac の sips コマンドを使って画像をリサイズしようとしたら Error: Unable to render destination image というエラーになってしまうんですけど
sips コマンドは画像の設定によっては処理できないことがあるんだ

Mac の sips コマンドはコマンドラインで画像のリサイズ等ができるので、バッチファイルを作って、いろいろな大きさのアイコンに一発変換、なんて使い方もできるので、すごく便利です。

いつものようにバッチファイルで各サイズのアイコンを作ろうとしたらエラーが出てしまいました。

Error: Unable to render destination image

エラーの原因は?

コマンドはいつも使っているものなので、画像ファイルが何かしら悪いのでは、と思って調べてみたら、色のモードが原因だとわかりました。

具体的には、画像の色形式でインデックス形式を使っていると sips では扱えないようです。

エラーへの対処

このエラーを回避するためには、入力用画像の色モードをインデックス以外(例えばRGB形式)にすれば解決できます。

モードの変換ができるツールならなんでも良いのですが、私はGIMPというフリーの画像加工ソフトを使っていますので、以下GIMPを使って手順を紹介します。

まず、GIMPで対象の画像を開きます

開いたら[画像]-[モード]で「RGB」を選択します

モードを変更したら、[ファイル]-[名前をつけてエクスポート]で好きな形式(PNGやJPG)に出力します。

エクスポートした画像を sips に渡せばエラーなく変換できるはずです。

GIMPのダウンロードはこちらから。