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ファイルがある。
関連記事
-
[macOS]ATOKから不要な候補を削除する方法
昔から WindowsでもMacでもATOKを使っている。昔は数年ごとに買い換えていたが、今はAT
-
パワーサポート リストラグセット for MacBook 13inch PWR-53
冬にアルミボディは相当冷たいのと、パームレストに汗をかいてしまい塗装がはげたりすることを避けるために
-
アルミユニボディのMacBookを購入
アルミユニボディのMacBookを購入。カカクコムで上位にあった中で何となく信頼できそうに見えたIn
-
Mac OS X Cocoaプログラミング(ヒレガス本)
Cocoaプログラミング界では有名だと思われるヒレガス本を購入。まずは目次。 使っているツール達のバ
-
MacOSで複数の音声ファイルをNormalizeしたい
自作アプリでは自分の子供の声を録音して使用しているが、今回の録音は朝早く行ったためか声がとても小さく
-
MacPeople 2009.11
MacPeopleは定期購読しているのだが、今回はレビュープラスからレビュアーに選ばれたので、もう一
-
超初心者に最適 フォトショップのドリル! 長谷川アンナ
Photoshop初心者の自分には残念ながらPhotoshopデザインラボは全くついて行けなかったの
-
高解像度ディスプレイを検討中
MacBook を開発に使っていることもあり、なるべく広い画面が欲しくなった。 現在使っているのは
-
XcodeにiPhoneとwatchが表示されない
2019年はGWに10連休があるということで、今日は3日目。毎日少しずつ開発を進めている。
-
M1 MacBook Air にリストラグを貼ってみた
M1 MacBook Air の筐体が冷たくて作業時につらいのでパームレストにリストラグを貼ってみ