AirDrop で iPhone から Mac へ撮った写真を移すのは一瞬でできるのに、Mac に移してから .HEIC フォーマットの画像を他サービスに貼り付けたりする時の面倒さたるや...
今まで Preview.app で開いて保存し直したりしていたけど、領収書の写真を何枚も変換するの嫌すぎて Automator でやってみたら一瞬で出来た、なぜ今までやらなかったのか...
コンテキストメニューから変換
おもむろに Automator を起動して クイックアクション
を作る。
イメージのタイプを変更
を追加する、以下のように聞かれるが元データ要らないので追加しない。
渡されたイメージファイルのイメージタイプを変更します。“Finder項目をコピー”アクションを追加して、オリジナルを変更しないでコピーを変更するようにしますか?
変換後のタイプを JPEG にして保存して完成。JPG に変換
とかわかりやすい名前をつける。
保存時の名前でコンテキストメニューに出てくるようになる。画像を右クリックで変換する。
保存したワークルフローファイルは ~/Library/Services
以下に保存されるようなので、編集したいときはそこから開く。
フォルダアクションで変換
いや右クリックもめんどいんだが、と思ったのでフォルダアクションで変換する。Automator のフォルダアクションは、特定のディレクトリにファイルが追加されたことをトリガとして処理を実行できる。
~/Downloads
をターゲットに、シェルスクリプトを実行
アクションを追加して bash1 で引数として入力を貰う。実行するスクリプトは以下のような感じ。ファイル名の末尾が .HEIC
なら sips コマンドで jpg へ変換する。sips コマンドは macOS 付属の画像処理コマンドなのでシュッと使えて便利。
for f in "$@"; do if [ "${f##*.}" = 'HEIC' ]; then sips -s format jpeg $f --out "${f%.*}.jpg" fi done
スマホから AirDrop で受け取ったファイルはダウンロードディレクトリに保存される。
作ったフォルダアクションは /Users/pokutuna/Library/Workflows/Applications/Folder\ Actions
に保存されている。
いやーなんでもっと早くやらなかったのか......
-
例のシェルスクリプトは bash の文字列展開を利用して拡張子取り出したりしているため Shell Parameter Expansion (Bash Reference Manual)↩