ある業務で大量の画像を一括で同じ幅にしたくなりImageMagickをインストールした。
ImageMagickではターミナルやコマンドプロンプトで画像の横幅、縦幅をコマンド入力で変更できたりするツールだ。
その中でも「mogrify」コマンドを使用すると、一括で処理できるが、実行できず少しはまった。
実行すると下記のようなエラーが出たのである。
>mogrify -resize 540 *w540px.png
'mogrify' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
コマンドについて簡単に説明すると下記の通りだ。
mogrify:一括で画像の処理をするコマンド
-rsize:サイズの変更をするというオプション。数値が一つだけ記載されているとき、その数値は横幅として扱われる。
変更対象ファイルについてだが、今回対象のディレクトリの中にはファイル名の末尾が「w540px」となっているものが大量にあり、すべて処理してしまいたかったので、正規表現を使い「*w540px」としている。
mogrify -rsize 変更後の横幅 変更対象のファイル
解決策1 legacy utilitiesにチェックして再インストール
再インストールを行うが、赤線を引いた項目をチェックした状態にする必要がある。
このとき既存のImageMagickの再インストールは不要で、ダウンロードしたImageMagickのexeファイルを実行すればよい。「install」を押した際に表示される下記のポップアップは前にインストールしたImageMagickのファイルが同名なので上書きしてよいかということを聞いているので、「Do this for the next conflicts」にチェックし、「Overwrite the existing file」をクリックすればよい。
参考記事↓
https://legacy.imagemagick.org/discourse-server/viewtopic.php?t=29620
解決策2 パスを通す
下記の記事に従ってパスを通そう。
https://blog.nyanco.me/imagemagick-command-image-process/#toc16