💽
macOSのスクリーンショットを自動的にWebP形式に変換する方法
この記事は何ですか?
macOSのデフォルト機能でスクリーンショットを撮ると .png 形式で保存されます。しかし、Web用途では .webp 形式の方がファイルサイズが小さくて便利です。この記事では、macOSでスクリーンショットを撮ると自動的に .webp 形式に変換されるようにする方法を紹介します。
必要なソフトウェア
cwebpをインストールします。Homebrewを使う場合、次のコマンドでインストールできます。
brew install webp
Automatorでフォルダアクションを作成
- Automatorを起動して
Folder Actionを選択します。 -
Folder Action receives files and folders added toにDesktopを選択します(スクリーンショットがデスクトップに保存される前提)。 - 左側のメニューから
Run Shell Scriptを選択します。 - 次の内容のシェルスクリプトを貼り付け、アクションを保存します(このとき
Pass input: as argumentsを選択)。
for f in "$@"; do
ext="${f##*.}"
if [[ "$ext" == "png" ]]; then
base="${f%.*}"
/opt/homebrew/bin/cwebp -q 90 "$f" -o "${base}.webp" >/dev/null 2>&1
# if [[ $? -eq 0 ]]; then
# rm "$f"
# fi
fi
done
なお /opt/homebrew/bin/cwebp -q 90 "$f" -o "${base}.webp" >/dev/null 2>&1 コマンドの -q 90 は品質を 90 に設定するオプションです(0 から 100 の範囲で指定可能)。品質を上げるとファイルサイズが大きくなりますが、画質も向上します。用途に応じて調整してください。
動作確認
スクリーンショットを撮影し、デスクトップに .webp 形式で保存されることを確認します。
私の環境でAutomatorのスクリーンショットを撮影してみました。もとの .png ファイルがこちらです。

そして、Automatorのフォルダアクションによって変換された .webp ファイルがこちらです。

.png ファイルが 104KB であったのに対し、.webp ファイルは 23KB となり、かなりファイルサイズが小さくなっていることがわかります。スクリーンショット内の文字も十分に読めるレベルだと思います。
便利ですね。
Discussion