Skip to main content
funapla
Participant
November 13, 2019
Answered

JavaScript for Illustrator クリックの座標値を取得

  • November 13, 2019
  • 3 replies
  • 1471 views

IllustratorのJavaScriptで、クリック時の座標値を取得したいのですが、リファレンスなどを確認しても見つかりません。

例えば、以下のようなスクリプト(ダイアログにテキストを入力し指定位置に配置プログラム)の場合、textObj.translate("クリックしたX座標値","クリックしたY座標値") と、挿入する位置をスクリプト実行中に取得したいです。

環境は、Windows Illustrator CCです。

   //ダイアログの設定
       var dialog = new Window("dialog","テキストを挿入",[0,0,200,100]);

       var etext = dialog.add("edittext",[60,15,150,40],"テキストを挿入");//テキストの入力
       var btnOK = dialog.add("button",[10,70,80,100],"OK",{name:'ok'});//OK
       var btnCancel = dialog.add("button",[100,70,170,100],"cancel",{name:'cancel'});//CANCEL

   //キャンセルの処理
       btnCancel.onClick = function(){ dialog.close(); }

   //OKの処理
       btnOK.onClick = function(){
       { dialog.close(); }

       docObj = activeDocument;
       textObj = docObj.textFrames.add();
       textObj.contents = etext.text.toString();
       textObj.translate(50,-30);//ここの値をクリックした座標値にしたい
   }

       dialog.center();
       dialog.show();


目的はスクリプト実行中に挿入位置を自由に決めることですので、ダイアログの座標値をonMoveで取得し、その位置に挿入することも考えましたが、ダイアログはIllustratorのドキュメントエリアではなく、モニター画面に対する座標値だったため、この方法も諦めました。

 

クリック時の座標値の取得もしくは、そのほかに良案があれば助言いただけると幸いです。

This topic has been closed for replies.
Correct answer Ten A

残念ながらExtendScriptでは現在のポインタ情報等を取得することは出来ません。
こういった場合ではIllustrator SDKを利用してプラグインを作成します。

3 replies

CarlosCanto
Community Expert
Community Expert
November 13, 2019

maybe you could add Anchor Points with the pen tool at the place you want to add your text before running the script??

funapla
funaplaAuthor
Participant
November 14, 2019

ご連絡ありがとうございます。

ミスの原因にも繋がるため、出来れば余計なポイントなどを追加しないで、実行したいと考えておりました。

ご提案いただきありがとうございました。

Ten A
Community Expert
Community Expert
November 13, 2019

とりあえずSDKについては
https://www.adobe.io/ 
の情報を確認してみましょう。
また、SDKサンプルコードのMarkedObjectが参考になるかと思います。

Ten A
Community Expert
Ten ACommunity ExpertCorrect answer
Community Expert
November 13, 2019

残念ながらExtendScriptでは現在のポインタ情報等を取得することは出来ません。
こういった場合ではIllustrator SDKを利用してプラグインを作成します。

funapla
funaplaAuthor
Participant
November 13, 2019

ExtendScriptでは無理なのですね…。

Illustrator SDKについては、あまり詳しくないため、一度調べてみます。

早々に回答いただきありがとうございました。