Automatorで複数画像を一括リサイズする

Automatorで複数画像を一括リサイズする


たくさんの画像を一括してリサイズする必要に迫られることがときどきある。たとえば、誰かの結婚式に呼ばれて、そこで写真をたくさん撮り、ご本人に送ろうと思うのだが、3,000ピクセルも4,000ピクセルもの大きな画像は必要ない。それらをすべて適切な画像サイズまで縮小して送る必要が出てくる。

全部の画像をひとつずつ手作業で縮小するのは面倒きわまりないので、それ用のアプリがないだろうかとネット上を探すことになる。

しかし画像のリサイズ程度ならば、手持ちのMacで比較的簡単に自分の使い勝手の良いアプリ(自分だけが使い勝手のいいプログラム、と言った方が適切かもしれないが。)が作れる。OSに付属するアプリケーション、Automatorを使って作ることができる。早速作っていってみよう。

 

作成するプログラムの内容

作成するプログラムの内容を考える。こうあってほしいということを作業の順番に書き出していけばOKだ。

  • FinderまたはiPhotoから写真を選択して実行する。
  • 元のファイルは無加工で残す。
  • 大きさは長辺1024pxに統一する(短辺は縦横比を保って成りゆき)。
  • リサイズ後のファイルはひとつのフォルダにまとめて出力する。

 

準備をする

プログラムの内容から考えて、作成までの準備としては、出力ファイルの保存場所を用意しておくことくらいなので、新しくフォルダを作成して備える。例として、ここではデスクトップに「リサイズ画像」というフォルダを準備した。

それと、メニューバーの右側のアイコンが並んでいるところにスクリプトメニューが表示されていない場合は、ユーティリティからAppleScriptエディタを起動して、メニューから環境設定を表示する。その中に「メニューバーにスクリプトメニューを表示」という項目があるのでチェックする。

 

基本部分の作成

LaunchPadなどからAutomatorを起動する。起動するとまずどんな種類のプログラムを作成するかを尋ねられるので、ここではワークフローを選択する。


Automatorの画面。左からおこないたいことを選択して、右側エリアにドラッグする。自分がやりたいことを、面倒だがコンピュータのために、ひとつひとつ分解してやる。最初から最後までが綺麗につながれば、それがプログラムになる。

これから作成するプログラムを使うことを想像してみる。まず、Finder(iPhotoでもいいが、最初はFinderで考えていく。)でリサイズする画像はすべて選択済だ。その状態からこのプログラムは実行されるので、まずはこのプログラムがFinderで選択されているファイルを、どのファイルが選択されているのか知らなければならない。

一番左側のエリアから「ファイルとフォルダ」を選択し、真ん中のエリアから「選択されたFinder項目を取得」を右にドラッグして追加する。

次に、元のファイルは残しておく仕様なので、これらの項目をコピーする。コピー先は準備しておいたフォルダ「リサイズ画像」を指定する。


「既存のファイルを置き換える」のチェックはお好みで入れればいい。
最後に「写真」ライブラリから「イメージをサイズ調整」というアクションを選択して追加する。サイズ指定は最初に決めた通りを入力しておく。ここでの入力値は長辺のサイズで、短辺は成りゆきとなる。

 

保存して動作をチェックする

基本の部分は完成したので、これを保存する。実は決まった保存場所があるのだが、いきなりそこに保存するにはライブラリフォルダを表示しないといけないので、一旦デスクトップに保存して移動することにしよう。

デスクトップに保存したワークフローを、準備の段階で用意しておいたスクリプトメニューに表示されるようにする。
一旦デスクトップをクリックし、Finderがアクティブになっていることを確認する。メニューバーのAppleメニューの右側に「Finder」と表示されていればOKだ。
スクリプトメニューをクリックし、「スクリプトフォルダを開く」〜「Finderスクリプトフォルダを開く」と順にクリックすると、ワークフローの移動先フォルダが開く。ここに先ほどのワークフローのファイルを移動する。


これでFinderがアクティブなときに、スクリプトメニューに先ほどのワークフローが表示されるようになった。
あとはFinderでファイルを選択して、スクリプトメニューからワークフローを指定してやれば実行される。

実行しても何も変化がないので、きちんと仕事しているのか不安になるが、保存先のフォルダを開いてやると、リサイズされた画像が保存されていることがわかる。

 

ちょっと手直し

テスト動作をしてみて、以下の2点が少し気になったので、手直ししてみよう。

  1. リサイズ後の画像はシャープさが失われているように感じること。
  2. 作業終了後に何らかのメッセージが欲しいこと。

手直しをおこなうには、ワークフローを再び開く。Finderスクリプトフォルダを開いて、ワークフローのファイルをダブルクリックすれば、Automatorで開かれる。

まずはシャープネスをかけよう。「写真」ライブラリから「Quartzコンポジションフィルタをイメージファイルに適用」を追加する。追加するときにファイルのコピーを警告されるが、今回の場合は既に最初の段階でコピーしてあるので「追加しない」を選択する。

最初は「セピア」となっているが、このコンボボックスから「シャープ」を選択する。

適用量はデフォルトの0.4では多すぎるので適宜調整をおこなう。ちなみに私は0.05〜0.1程度で十分に感じた。

最後に実行後のメッセージを表示させる。「ユーティリティ」ライブラリから「確認を求める」を追加する。メッセージは任意で入力すればOK。

Growlをインストールしている人は、同じ「ユーティリティ」ライブラリの中にある「Show Growl Notification」を代わりに使った方がスマートになる。

 

iPhotoで作成する場合

Finderで作成してきたワークフローだが、iPhotoから写真を選択したい場合には、最初のアクションを「写真」ライブラリの「選択されたiPhoto項目を取得」に変更すれば良い。

2012/08/07 追記

ここで作成方法を公開しているワークフローのファイルを配布しています。

Automatorのワークフローをいくつか