[Automator & AppleScript] Automator: AppleScript の ImageEvents で画像をリサイズする

crop, rotate などもできるそう。

以前に sips コマンドで実現した画像のリサイズを、AppleScript 内でできないか調べていて知りました。

最も長い辺を指定サイズにリサイズする

  • AppleScript: Image Events
    targetItems という配列(list)に格納している画像を、maxpxl で指定したサイズにリサイズ(scale)処理する。
tell application "Image Events"
    launch
    repeat with this_file in targetItems
        set this_image to open this_file
        scale this_image to size maxpxl
        save this_image with icon
        close this_image
    end repeat
end tell

scale foo to size 指定で、sips -Z と同じ振る舞いをしてくれる。
crop, rotate など他の命令もある。

画像の縦横サイズを求める

ファイルを open した後に、dimensions of で取得できる。

set this_image to open this_file
copy dimensions of this_image to {W, H}
close this_image

補遺

アクション「Quartz コンポジションフィルタをイメージファイルに適用」のシャープを、AppleScript から使いたかったのですが分かりませんでした。
quartz composition filter applescript あたりで調べた。
ご存じの方いましたら、ぜひ教えて下さい。