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つに対してしか実行されないので、[ファイル] – [自動処理] – [バッチ]からバッチ処理を行う必要がある。
同様にして、色域指定した選択領域に対して、選択範囲を反転してカットしてトリミングすることで、色域指定選択した部分だけを切り出してファイルに書き出すことにも成功した。
おかげで手作業を大幅に省略することができた。
Photoshop は自分の予想よりもずっといろいろなことができるアプリケーションであるようだ。
Adobe Photoshop CS5 Macintosh版 (32/64bit) | |
![]() |
アドビシステムズ 2010-05-28 |
追記 2011/07/18
JavaScript のスクリプトに肝心の部分がなかったので追記した。
また、PhotoshopのJavaScriptの仕様はPhotoshopのインストールディレクトリの Scripting/Documents にPDFファイルがある。
関連記事
-
-
TAXANデジタルインクペン KG-DP301
たしかMacPowerで見かけた商品。Mac、Linux、PCで使えるのがすばらしい。 値段も1万円
-
-
Xcodeの Find In Workspace で見つからない文字列がある
今日は12月28日で、もう年の瀬だ。この頃になるとようやくブログを書いたりできるようになる。Xcod
-
-
MacBookとWindowsでキーボード切り替え
MacBookはもともとiPhone向けプログラムを開発するために購入したものだが、実際にMacBo
-
-
HDD交換後「この製品のライセンシングが動作していません」で Photoshop CS4が起動しない問題
HDD交換後に毎度この問題が発生するが、今回も 「この製品のライセンシングが動作していません。エラ
-
-
Corona SDK 調査3日目 (Lua 用エディター探しその1)
iPhoneとAndroid両方で動くアプリケーションを開発できるというCorona SDKの調査3
-
-
WordPress でソースコード表示 ecto で不具合
WordPress を更新するときには ecto を使っているが、ecto はHTMLを勝手に整形し
-
-
MacでAirDropをすばやく開きたい
⌘+スペース で Spotlight検索を開き、airdrop を補完して起動 スク
-
-
GTD用にOmniFocusを購入
半年くらいMacBookとiPhoneでOmniFocusを使っている。 なかなか良いので、紹介して
-
-
macOSでNEUTRINO(AIきりたん)を試してみた
今話題のNEUTRINO + AIきりたんをMacBook Pro mid2012で試して
-
-
iTunes Connect でアプリページを表示できない
いつからかわからないけれども、iTunes Connect で自分のアプリを表示できなくなってしまい