Just Diary

Follow me

カテゴリー:Illustrator 一覧

Illustrator ,Photoshop Extensionの開発35

デバッグ周りが大変だったりいまだにecma3しか使用できないadobe jsxです。今回cep上でやりとりする時の細い開発情報をさらに載せます。 何度か触れていますがjsx単体で動かす場合は外部ファイルをincludeで読み込むことができるのである程度オブジェクト、関数をファイル事に分けられて見やすくできますがcepからアクセスする場合はこのincludeが使用できません。規模が大きくなるにつれてコードの量も大きくなってくるので厄介です。実はこの外部ファイル読み込みですがcep側のscriptで読み込むことが可能です。やり方は簡単。 func.jsがjsxのフォルダに入っていると仮定してcep

Read more

IllustratorのCEPでデバッグをやりやすくする。

Photoshopに比べて謎な使用の多いIllustratorのCEPですが一番不便なのがデフォルトだとデバッグ時にIllustraotr本体のソフトを一々落とさないとコードの変更が反映されないとこです。Photoshopでいうところの強制Persistentです。参考Photoshop Extensionの開発11 Persistence IllustratorだとデフォルトでこのPersistentがオンになっている故にパネルを一度閉じてもコードの修正が反映されないのです。だからと言ってコードを書き直す度にIllustrator本体を落としてデバッグするのはかなりめんどくさいです。というわ

Read more

html formにセットされた値を効率よく取得する。

前回からの続きですがAdobe CEPでUI上でパラメータの値をユーザー側で設定してjsx側に送る事は何度も何度も出てくると思います。昔はj-queryで取得したなんて事もやってましたが流石に取得するformの数が増えてゆくと地道に一つづつ取得するなんて事は非効率的だし苦痛です。さらにJSONでjsx側に送るため効率よくobjectにまとめなければなりません。arrayメソッドを中心に効率よく取得してみましょう。 topcoatのcssをベースにしたhtmlから取得してゆきます。最初はラジオボタンの簡単なhtmlです。チェックされたボタンの値を取得します。実はラジオボタンの値を取得するだけなら

Read more

top coatのcss上で動的にhtml formを追加する

Adobe extensionを開発しているとformを扱う事が多くなります。jsxから数値を取得して、それをパネル上で表示して、数値を入力またjsxにアクセスしたり。デフォルトのtopcoatのcssは基本の設定が揃っていて便利ですがhtml構造が少し難しくなりがち。 前回説明したようにcheckboxやradiobuttonはlabel要素の中にdivが混じっていたりと少し複雑です。ここら辺のコードは柔軟なCEPを開発しようと思うと何度も触れる部分なので普段からまとめられると便利です。例えば以下のようなリストをjsで作るとしましょう。 各種input要素等を囲ったlabel要素があってその

Read more

jsで無理矢理Illustratorのドキュメントの裁ち落としサイズを取得

jsでできそうでできないIllustraotrのドキュメントの裁ち落としサイズの取得。一時期某フォーラムでも話題になって最終的にC++で書かれた専用のプラグインを用意することで解決という結局jsのみでは解決できない結論に至ってました。 しかしそれでもなんとかjsから裁ち落としのサイズを取得だけでもしたいという方もおられるかもしれません。という事でjsから無理矢理ドキュメントの裁ち落としサイズを読み込むExtensionを作成しました。 まずjsから裁ち落としのデータにアクセスするオブジェクトモデルがイラストレーターにないのでIllustratorのAiファイル情報からテキストとして読み込む事に

Read more

Vulcan.jsを使用したAdobeのソフト同士の通信

何度かNode.jsを通じたソフトの通信について投稿しましたがどうもCEPライブラリーのVulcan.jsをを使用すればもっと簡単にできるらしいのでPhotoshopとIllustratorの簡単な通信をやってみました。 ちなみにVulcan.js自体はここから入手できます。 VsCodeのCC Extension Builder 等ではデフォルトで用意してくれないのでダウンロードしてください。メッセージを送る際に送信側のパネル自身のIDが必要なのでcsInterfaceから取得します。 VulcanMessageオブジェクトにパネルIDとメッセージを渡して送信します。 IDでメッセージの発信

Read more

Node jsのwatch機能でIllustratorに配置された画像を監視する

ご存知の通りポスターやディスプレイの作成なんかはIllustratorで版下を作成する事が多いです。しかし写真の画像をIllustratorで配置して出力する場合はプリンターにデータを送るためにPDFやpostscriptファイルに変換してプリンターに送るのですが写真の画像の色補正をPhotoshopで行なった後に一々Illustratorで開いて出力するというこのためだけにIllustratorを立ち上げることが多いです。このIllustratorで開いて出力という面倒くさい作業を自動化するために配置画像をNodeで監視して更新されたら自動的にIllustratorがPDFで書き出すExte

Read more

Illustratorでドキュメントの特色を読み込む、追加する

Illustratorでスウィッチカラーを読み込んだり追加したかったのですがこういったscriptって中々見つからなくて苦労したので載せておきます。 まずはドキュメントに既に登録されているスウィッチカラーを読み込んで選択しるオブジェクトに適応させるscript app.activeDocument.swatches.getByName(‘spotColor‘);でスウィッチカラーの名前を指定して読み込むのですがなんだかフロントエンドのdocument.getElementByIdみたいですね。 次に新しく特色を登録して登録した後に選択しているオブジェクトに特色を適応させ

Read more

IllustratorとPhotoshopの画像編集をNode.jsでやりとりする

前回よりローカルのサーバーを通じてアプリ間の連携を紹介しましたが今回は応用編としてIllustrator内で配置、レイアウトした写真画像をPhotoshopで再度開いて編集、更新、その後Illustratorで再編集、PDF書き出しといったやりとりをNode.jsでやりたいと思います。Illustrator内に配置した写真画像の色調補正の再補正等、いちいちPhotoshopに戻って開いて、書き出し、再度Illustrator側で開くといった事が多いと思うのでこのあたりの作業を自動化させたいと思いました。特にDTPや印刷、出力の際にIllustratorデータをPDFやらpostscriptファ

Read more

Node.jsでやりとりするAdobeのアプリ同士のやりとり

前回Photoshopからサーバーを立ち上げて待ち受けの状態まで作ったのでさらに通信を受け取って受け取った内容を表示させたいと思います。具体的にはPOSTでサーバーにデーターを送信してデーターを受け取ったらjsxでデータの内容を表示させます。 POST送信でオブジェクトを受け取ったらjsxでオブジェクトの内容をjsx内のアラートで通知。POST送信はfetchで投げれば簡単にできます。 決して難しくはないコードですが一連のやりとりは勿論非同期で行われる事、IllustratorやPhotoshopといった異なるアプリ間でコードを書かないといけない上、さらにjsxともやりとりしないといけないので

Read more

最近のコメント

Other link

最近のコメント

Close