内容はタイトルのとおりで、クイックアクションを使ってwebpに変換するコマンドを作成するというもの。要はこれを作る。
これは普通に便利だよ。では以下、ChatGPT-4によるテンション高めの記事本文。
イントロ
こんにちは、今日はMacの便利な機能であるクイックアクションを使って、画像をwebp形式に変換する方法をご紹介します。この方法を使えば、画像ファイルを右クリックするだけで簡単にwebp形式に変換することができます。
手順は以下の通りです。
準備
今回の作業のための準備をしましょう。いくつかのツールを入れる必要があります。
Homebrewのインストール
まずはHomebrewをインストールします。HomebrewはMacでソフトウェアを簡単に管理するためのパッケージ管理システムです。既にインストールしてある方はこの手順をスキップしてください。ターミナルを開き、以下のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
libwebpのインストール
次に、Homebrewを使ってlibwebpをインストールします。libwebpはGoogleが開発した画像形式であるwebpへの変換ツールです。ターミナルで以下のコマンドを実行します。
brew install webp
クイックアクションの作成
Automatorを開き、「新規ドキュメント」を作成します。「ドキュメントの種類」の選択画面が表示されたら、「クイックアクション」を選択します。選択したら、下記のような設定をしますので、手順を説明します。
「ワークフローが受け取る現在の項目」の項目で「イメージファイル」を選択し、さらにその右隣の「検索対象」のドロップダウンから「Finder」を選択します。
左側のパネルから「ユーティリティ」カテゴリを開き、「シェルスクリプトを実行」を右側の空白領域にドラッグアンドドロップします。
シェルスクリプトアクションに以下のコマンドを入力します(「入力の引き渡し方法」は「引数として」に設定)。
for f in "$@"
do
/usr/local/bin/cwebp "$f" -o "${f%.*}.webp"
done
著者注記: あらかじめ which cwebp
でcwebpのパスを調べておく。 /opt/homebrew/bin/cwebp
にする必要があるかも。
クイックアクションの実行
メニューバーの「ファイル」から「保存」を選び、クイックアクションに名前をつけて保存します。この名前がコマンドの名前になるため、「webpに変換」などのわかりやすい名前にしましょう。
これで準備は完了です。Finderから画像ファイルを右クリックすると、コンテクストメニューの「クイックアクション」の中に新しく作成したアクションが表示されます。選択すると、選択した画像ファイルがwebp形式に変換され、元の画像と同じ場所に保存されます。
注意点、画質と元画像の削除について
元画像の削除
注意点として、このコマンドは元の画像ファイルを保持しつつ新しいwebpファイルを作成します。元の画像を削除したい場合は、上記のシェルスクリプトにrm "$f"
コマンドを追加します。これにより、変換後のwebpファイルが作成された後に元の画像が削除されます。
以下に修正したコードを示します。
for f in "$@"
do
/usr/local/bin/cwebp "$f" -o "${f%.*}.webp"
rm "$f"
done
このコードは元のファイルを完全に削除するため、誤って重要なファイルを削除しないように十分注意してください。実行前にバックアップを取るなど、データの安全対策を忘れずに行ってください。
画像の品質
また、出力されるwebp画像の品質はデフォルトの設定(75%)になります。品質設定を変更するには、上記のcwebpコマンドに-qオプションを追加します(例:-q 90)。
以上で、Macのクイックアクションを使って画像を簡単にwebpに変換する方法のご紹介を終えます。ぜひ試してみてください。
寸評
有能。シェルスクリプトを交えつつAutomatorを使った完全なガイド。これはGoogle検索だと中々出てこない。
以下のような質問をした。
- Macのクイックアクションで、画像をwebpに変換するアクションを作成したい!
- 素晴らしい。完璧だ。UIは日本語のほうがよかったが、そこは僕が補足しよう。 クイックアクションで画像ファイルを右クリックから手軽にwebpに変換できるようにする方法について、ブログ記事としてまとめてくれ
- 元の画像を削除したい場合のコードについても書いたほうがいいな。
解説のUIが思いっきり英語だったので、僕のほうで直すといったところ、なんだか日本語化しようと頑張っていたが、結果間違っていたのでそこは僕が修正した。相変わらずディテールを間違えるChatGPT。こうして人間の仕事は微調整になっていくのか……。