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

関連記事

MacPeople 2014年11月号で休刊

10月号からスマホ開発者向け雑誌としてリニューアルされた MacPeople が、実は1

記事を読む

no image

MacBook で UQ WiMAX を使ってみる

今日は会社休みにしたのでMacBookとUQ WiMAXドングル UD01SSを持って家の周りを

記事を読む

no image

Core Graphics と Quartz

Core Graphics と Quartz の関係がよく分からなかったので調べていたところ、ほぼ同

記事を読む

no image

MacBookにWindows 7インストール

UQのWiMAX通信カードを試してみたいと思い、調べてみたところ今は電話しないと購入できないとのこと

記事を読む

no image

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

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

記事を読む

no image

MacBook Late2008 MB466J/A のメモリを4GBに増設

FirefoxやXcodeなど開くとメモリスワップが発生しているらしく待たされることが多いので、つい

記事を読む

Xcodeの Find In Workspace で見つからない文字列がある

今日は12月28日で、もう年の瀬だ。この頃になるとようやくブログを書いたりできるようになる。Xcod

記事を読む

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

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

記事を読む

[OSX] ダイアログのボタンをキーボードで操作する

MacOSで上記のようにダイアログが表示されたとき、Windowsのようにキーボードで操作できず不便

記事を読む

MacBook Pro Late 2011 13 inch が熱くなりすぎるので掃除してみた

最近MacBook Pro Late 2011が熱くなりすぎて、さすがに心配になってきたので一度ファ

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

PAGE TOP ↑