AppleScriptのJavaScriptとExtendScriptのJavaScript

タイトルからして「Script」だらけでややこしい。

 

そして、実際もややこしい。

 

AppleScriptをJavaScriptで書ける‥‥という言い回しがそもそもややこしいですが、利点は大きく、AppleScriptにはないJavaScriptのMathとかStringやArrayの処理がAppleScriptにも使えます。文字列の分解とか配列の結合とかをAppleScript's text item delimitersに頼っているのは、なかなか厳しいですもんネ。

 

じゃあ、Photoshopのスクリプトを書くときに、AppleScript上でJavaScriptを使うと、どんな具合かと言うと‥‥

 

var app=Application("Adobe Photoshop CC 2018");

app.preferences.rulerUnits="pixel units";

var doc=app.Document({name:"TEST",height:1080,width:1920,resolution:200});

doc.make();

 

‥‥のような感じです。「1920px, 1080pxで200dpiの新規ドキュメントを「TEST」という名前で作れ」と言う命令文です。

 

実は、あわよくば、AppleScriptのJavaScriptとExtendScriptのJavaScript(あーややこしい)共用できる部分があるといいな‥‥と思ったのですが、

 

如何にもダメそう

 

‥‥ですネ。

 

ExtendScript、いわゆるESTKで同じ内容を書くと、以下のような感じです。

 

app.preferences.rulerUnits = Units.PIXELS;
var doc=app.documents.add(1920,1080,200,"TEST");

 

‥‥うーむ。共通しているのは、「app.preferences.rulerUnits」の箇所だけか。ESTKのPhotoshopだと、new Document()のコンストラクタが無いんですね。AppleScriptのJavaScriptとは段取りも違います。

 

まあ、たしかに、AdobeのExtendScriptでは、ドキュメントやレイヤーなどはコレクション(たとえばlayerならlayers=複数形で表す)からadd()するのが、昔からの流儀です。importOptionsとかはnewでもいけますが、コレクションオブジェクトのaddで大体は新作しますよね、AfterEffectsとかは。

 

 

まあ、今以上にややこしくしないために、おとなしく、PhotoshopのスクリプトはESTKで作って、必要に応じてAppleScriptはUI程度(Photoshopスクリプトを実行するための窓口)に留めます。

 

 

ちなみに、Photoshopのスクリプトに関するドキュメントは以下から入手できます。

 

https://www.adobe.com/devnet/photoshop/scripting.html

 

歴代のドキュメントが並んでいますネ。2018年現在の最新版はCC 2015みたいです。

 

 

 

 


関連する記事

calendar

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
<< June 2018 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM