リンクをクリップボードにコピー
コピー完了
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のドキュメントエリアではなく、モニター画面に対する座標値だったため、この方法も諦めました。
クリック時の座標値の取得もしくは、そのほかに良案があれば助言いただけると幸いです。
リンクをクリップボードにコピー
コピー完了
残念ながらExtendScriptでは現在のポインタ情報等を取得することは出来ません。
こういった場合ではIllustrator SDKを利用してプラグインを作成します。
リンクをクリップボードにコピー
コピー完了
ExtendScriptでは無理なのですね…。
Illustrator SDKについては、あまり詳しくないため、一度調べてみます。
早々に回答いただきありがとうございました。
リンクをクリップボードにコピー
コピー完了
とりあえずSDKについては
https://www.adobe.io/
の情報を確認してみましょう。
また、SDKサンプルコードのMarkedObjectが参考になるかと思います。
リンクをクリップボードにコピー
コピー完了
maybe you could add Anchor Points with the pen tool at the place you want to add your text before running the script??
リンクをクリップボードにコピー
コピー完了
ご連絡ありがとうございます。
ミスの原因にも繋がるため、出来れば余計なポイントなどを追加しないで、実行したいと考えておりました。
ご提案いただきありがとうございました。