Photoshop で JavaScript+バッチ処理してみた

公開日: : 最終更新日:2018/07/22 MacBook

(いろいろ中途半端な記事だったので 2012/02/12に加筆)
自作アプリ タッチ! にほんちず などで、白地図から都道府県の画像を大量に切り出す必要があった。
また、切り出した画像の座標を求めたい。
ということで、Photoshopで
1.色域指定して選択範囲を作成
2.その選択範囲の座標を取得
3.取得した座標をファイルに書き出す
この処理を何十回(今回の場合46回)も繰り返し実施したい。
(前準備として、46枚の画像を用意して、1枚ごとに別の都道府県に色を付けておいた。この作業も面倒だけれどもこれは自動では行えなかったので頑張って実施した)
さすがに何十回も同じことを繰り返すのはつらいので、やり方を検討してみた。

そしてはじめて、Adobe製品でJavaScriptを使って処理が実行できることを知った。
Adobe Photoshop CS4自動化作戦
PhotoshopでのJavascriptの実行方法
そして、座標の取得は下記によると、activeDocument.selection.bounds[0] で実行できる。
Photoshopのスクリプト(JavaScript)で、選択範囲の座標を抽出したい – グラフィックソフト – 教えて!goo
CS2だとエラーが出ると書かれていたが、自分のCS4ではエラーなしに実行することができた。
取得した座標は、ファイルに書き出すことにした。
Macだと改行コードは ¥r とするらしい。
一応単純だけれどもソースを貼ってみる。

<br />app.doAction('iroiki', 'MySet');</p><p>str = activeDocument.name + ":" + activeDocument.selection.bounds[0] + "," +activeDocument.selection.bounds[1];</p><p>filename = "/Users/token/test.txt";<br />fileObj = new File(filename);<br />flag = fileObj.open("a");<br />if (flag == true)<br />{<br />fileObj.write(str);<br />fileObj.write("¥r");<br />fileObj.close();<br />}else{<br />alert("ファイルが開けませんでした");<br />}<br />

これで、2.と3.は実施できた。
1.の色域指定で選択範囲作成は、JavaScriptで実行する方法が見つけられなかったので、ここではバッチ処理をしてみた。
photoshopでバッチ処理をしたい | OKWave
Photoshopのバッチでファイルを一括で処理する方法【初心者向け】 | TechAcademyマガジン

バッチ処理は、ウィンドウ > アクション でアクションウィンドウを開き、新規アクションを作成し、実際にやりたい作業を行って記録する。

その後、
ファイル > 「自動処理」> 「バッチ」
でそのアクションを指定することで実行することができる。

作成したアクションをJavaScript内で実行するのは
app.doAction(‘アクション名’, ‘セット名’);
になる。
これにより.jsx ファイルの実行で色域指定選択を実行し、その後その選択範囲に対して座標を取得し、ファイルに書き出すことに成功した。
この.jsxファイルはPhotoshopのあるフォルダのScriptsフォルダに入れておくと、メニューの[ファイル] – [スクリプト] から実行することができるらしい。
しかし、メニューから実行すると現在選択されているファイル1つに対してしか実行されないので、[ファイル] – [自動処理] – [バッチ]からバッチ処理を行う必要がある。
photoshop01.png

同様にして、色域指定した選択領域に対して、選択範囲を反転してカットしてトリミングすることで、色域指定選択した部分だけを切り出してファイルに書き出すことにも成功した。
おかげで手作業を大幅に省略することができた。
Photoshop は自分の予想よりもずっといろいろなことができるアプリケーションであるようだ。

Adobe Photoshop CS5 Macintosh版 (32/64bit)
Adobe Photoshop CS5 Macintosh版 (32/64bit)

アドビシステムズ 2010-05-28
売り上げランキング : 756

Amazonで詳しく見る by G-Tools

追記 2011/07/18

JavaScript のスクリプトに肝心の部分がなかったので追記した。
また、PhotoshopのJavaScriptの仕様はPhotoshopのインストールディレクトリの Scripting/Documents にPDFファイルがある。

関連記事

no image

iPhone SDK 3.0 beta 4

iPhone プログラミング記さんによると、 iPhone SDK 3.0 beta 4 になってよ

記事を読む

no image

Chrome でCtrl+クリックで右クリックできない

今日AmazletのブックマークレットをGoogle Chromeのブックマークに追加しようとしては

記事を読む

no image

MacBookの2つのUSBの違い

MacBookの2つのUSBポートには違いがあるらしい。 初めて知った。 これはアルミユニボ

記事を読む

さくらVPS WordPress 激重問題

このブログはさくらVPSにWordpressをインストールしてMacOS上でSafariで編集してい

記事を読む

Xcodeの Find In Workspace で見つからない文字列がある

今日は12月28日で、もう年の瀬だ。この頃になるとようやくブログを書いたりできるようになる。Xcod

記事を読む

no image

MacOS XをLion にしてから Preview の起動が遅い

MacBook Proを買ったことで強制的にLionを使うことになったが、これまでさくさく動いていた

記事を読む

no image

Eye-Fi Share 2GB を EOS Kiss X2 で使う

ブログに写真を載せる際には EOS Kiss X2を使っているが、USBで接続してiPhotoで

記事を読む

no image

MacBookにHDD増設 OptiBay Hard DriveKit for MacBook Pro 15/17 Unibody and MacBook Unibody スリムドライブ付き

MacPeople 2010年5月号で知った商品。 なんと、自分のMacBook Late2008の

記事を読む

MacでAirDropをすばやく開きたい

⌘+スペース で Spotlight検索を開き、airdrop を補完して起動 スク

記事を読む

no image

MacPeople 2010.02

定期購読している MacPeople 2010年2月号が今日届いた。 今回はメールアプリとUbunt

記事を読む

Message

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

TUNEWEAR ALMIGHTY DOCK nano1 USB3.2 5in1ハブ を買ってみた

ちょうどiPhone のリストアを実行中で、2時間程度かかっていたた

Apple Developer Program 更新 2022

今年も Apple Developer Programを更新した。こ

M1 MacBook Air を macOS Monterey にアップデート

Xcode 13.3 アップデート するために、macOS

Xcode 13.3 アップデート

iPhone 11 Pro Max の iOSを15.4に上げてしま

[Apple Event]最高峰を解禁。

2022/03/09 3:00AM JST にApple Event

→もっと見る

PAGE TOP ↑