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ファイルがある。
関連記事
-
Twitter で Ctrl-H するとホームに移動してしまう
MacBookでTwitterするようになってから、Ctrl-H で文字を削除しようとするとTwit
-
MacBook Pro Late 2011 に 1TB HDDを換装
今使っているMacBook Pro Late 2011は 2012/03/24 に購入したが、しばら
-
MacPeople 2012 5月号にはほしいガジェットがたくさん紹介されてる
定期購読しているMacPeopleの今月号(5月号)で面白い製品がたくさん紹介されていたのでメモを書
-
Mighty Mouse のトラックボールで下スクロールできなくなったら
Apple の Mighty Mouse が好きだ。有線なので電池が入っておらず軽い。 そしてトラッ
-
AirMac Extreme Base Station がほしい 2011/05/07
自宅の無線LANルータが不安定なので、AirMac Extremeを買おうかと悩み中。 自宅にApp
-
MacBookのアプリケーションが起動できなくなった
Mac, iPhone, iPad » MacBookのバッテリーを長持ちさせたいでMacBookの
-
MacBook 閉じたまま使用時の問題
自宅では、MacBook は閉じたまま、外付けディスプレイと外付けキーボードを接続して使用している。
-
MacBook Pro Late 2011 購入
書き忘れていたので、2012年にさかのぼって記録。 2012年3月24日に、 あんどんや
-
旧型 MacBook Air Mid 2017購入。後悔はしていない
奥さんの MacBook Air 11インチ Late 2010 が激遅になっており、苦情が続いてい
-
ctrl+p がPukiWikiの’プレビュー表示’に被る件について
現在、さくらインターネットにはMovableTypeとWordPressとPukiWikiを入れて便