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ファイルがある。
関連記事
-
MacBookのアプリケーションが起動できなくなった
Mac, iPhone, iPad » MacBookのバッテリーを長持ちさせたいでMacBookの
-
[購入報告] Razer Mouse Bungee
以前から気になっていた、Razer Mouse Bungee を買ってみた。2500円もするためか、
-
Realforce 91UDK-G を MacBook で使う
以前も書いたけれどもMacBookとWindowsデスクトップでUSB切替器でキーボードを切り替えて
-
Apple Magic Trackpad 感想
Mac用入力デバイスにも力を入れているAppleの最新入力デバイス、Magic Trackp
-
Mint60のFirmwareをOSX用に書き換えてみる
Mint60のFirmwareを書き換えてみる前回、自作キーボードキット Mint60のFirmwa
-
MacOS XをLion にしてから Preview の起動が遅い
MacBook Proを買ったことで強制的にLionを使うことになったが、これまでさくさく動いていた
-
Xcode 11.2 Release
Xcode 11.2 がようやくリリースされた。これにより、GM版で iOS 13.2,
-
MacPeople 2010.02
定期購読している MacPeople 2010年2月号が今日届いた。 今回はメールアプリとUbunt
-
ectoのブログ編集画面でカテゴリが更新されない(WordPress)の解決法
自分はEctoでWordPressのブログを更新しているが、ブラウザのWordPress編集画面でカ
-
Eye-Fi Share 2GB を EOS Kiss X2 で使う
ブログに写真を載せる際には EOS Kiss X2を使っているが、USBで接続してiPhotoで