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ファイルがある。

関連記事

Xcode のインストール進捗確認

Mac App Store を使って 2019/04/18に公開された Xcode 10.2.1

記事を読む

no image

これは便利 TypeIt4Me

このためたまたまひとりブログさんで発見した TypeIt4Me。 確かにこれは便利だ... ブロガー

記事を読む

SafariでDelete/Backspaceで前のページに戻る

最近 Wordpress編集中に Chromeが異常終了するので、Safariに移行中。

記事を読む

no image

MacBook購入後1週間の感想

購入してから1週間たったのでこれまでの感想を書いてみる。 Index Onlineには2月

記事を読む

Mint60のFirmwareをOSX用に書き換えてみる

Mint60のFirmwareを書き換えてみる前回、自作キーボードキット Mint60のFirmwa

記事を読む

Everio で撮影した動画を写真袋で公開する

年末に奥さんが Victor Everio GZ-HM670 で撮影した長女のバレエ動画を写真袋で

記事を読む

no image

MacBook でApple Remoteを無効にする

Apple TVを使っている際に近くにMacBookを置いていると両方がApple Remoteに反

記事を読む

no image

ecto for MacOS X購入

試用を続けてきたectoだが、ついに試用期間を過ぎてしまったのでオンラインで購入。 2151円だった

記事を読む

no image

Snow Leopard にしてから MacBook が時々異常終了する

Snow Leopard にしてから、数日に一回、もしくは数週間に一回、panic で落ちるようにな

記事を読む

no image

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

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

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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

ポモドーロテクニック用物理タイマーならTime Timer

会社ではなかなか自由に時間を使えないが、家で読書や作業をする

DELL 32インチディスプレイ U3223QE 購入

Dell U3223QE は解像度 3840x216

WWDC 2023 Vision Pro発表

2023/6/5 (日本時間 2023/06/06 2AM)のWWD

M1 MacBook Air を Venturaにアップデートする

M1 MacBook Air を macOS Montere

iOS16でaurioTouch の inBufferFramesが1になる

https://developer.apple.com/librar

→もっと見る

PAGE TOP ↑