タグ:Illustrator 一覧

Illustrator用Extension AIColorManagement ver3

過去に公開したIllustrator用Extensionを大幅にアップデートしました。ベクターの色データを一括で変更したりチャートを作成したり一時的に色データを保存したりします。複数のカラーを一括して変更したり線と塗りに同じ色を適用する、塗りの色をテキストにして書き出すといった機能を一つのパネルにまとめました。 Adjust Illustrator上で選択したベクターのアイテムの色を一括で変更します。単に既存の色に決まった数値を足してゆくものから彩度を上げたり明るさを調整する機能まであります。 Additional ベクターアイテムの色を指定の数値を加算します。右のカラーのフォームに動かしたい

Read more

配置画像の差異を検知する Illustrator Extensionのプロトタイプ ItemInspector

Illustratorで画像を写真画像なりその他の素材を配置することはよくあることだと思います。そしてフォルダーを別の場所に移動させると配置した画像ががいつの間に似たような画像に置き換わったりすることも誰しもが経験することでしょう。Illustratorは配置された画像をaiファイルから見て配置データを相対パスで取得して管理しているのでしょうがこれがたまに上手くいかず同じ名前のファイルの別のディレクトリーに保存されているファイルを読み込んだりします。今回前回の保存ファイルのパスと更新日付をjsonファイルに保存して再度aiファイルを開いた時に前回更新時のデータを比較して前回の状態と新しい状態で

Read more

Illustrator script グラデーションカラーを扱う

Illustratorのオブジェクトモデルは複雑で、前回のカラーオブジェクトだけでもややこしいものでしたがグラデーションカラーになるとカラーオブジェクトに加えてスライダーの位置、数などより複雑になります。初見だと混乱すること必須のこのオブジェクトモデルについて紹介します。 大まかな構造 まず前回のカラーオブジェクト同様グラデーションオブジェクトに選択したグラデーションパスアイテムからアクセスします。単純なフラットな塗りの場合fillColorプロパティにアクセスすればカラーオブジェクトにアクセスできましたがご存知の通りグラデーション、それ自体が複数の色データを保持しています。さらにグラデーショ

Read more

Illustrator Extension gradientBox

Illustrator用のExtension、gradientBoxを作りました。グラデーション内の色を一括で変更したり調整するためのExtensionです。例えばグラデーションの色全体の明るさを変えたい時にいちいち全てのグラデーション内の色を一つ一つ調整するのもかなりの手間です。このExtensionではこのような調整をボタン一発でできるようになります。 使い方 基本はグラデーションアイテムを選択してカラーを読み込みます。キーのいろか塗りの色か事前に選んでください。その後に読み込んだ特定のカラーを調整します。調整したいカラーにチェックを入れて調整する数値を左のフォームに入力。青いボタンを押し

Read more

Illustrator script パスアイテムのカラーデータを置き換える、調整する。

久しぶりに純粋なIllustrator scriptについて取り上げます。パスアイテムの色の置き換え、調整についてです。Illustratorのオブジェクトモデルも結構複雑で、勿論ドキュメントなりを見てやればできる事ではあるのですがつまずきやすい部分ではあります。今回カラー関係のオブジェクトモデルについて扱ってみます。 各パスアイテムのカラーオブジェクトはどこに格納されているのか パスアイテムのアクセスですがいくつかあります。documentオブジェクトからなりlayerオブジェクトからなりと、例えばlayerオブジェクトからアクセスする場合は layerオブジェクトに各レイヤーにpathIt

Read more

ElectronとExtensionによるIllustrator用ドロップレット (mac,win向け)

Photoshopにあるドロップレット 、便利でよくよく使います。IllustratorなんかでもaiファイルをPDFに書き出す時なんか一括でやるためにあったら便利だと思ったのですが同じAdobe製品なのに何故かIllustratorには無かったりします。というわけで作ってみました。 ドロップレットのアイコンをElectronで再現 Javascriptでアプリが開発できるElectronでドロップするアイコンを作ります。過去の記事参照。Electronのアイコンにドロップされたファイルを受け取ってそれをIllustratorに送ってファイルを開く、アクションの実行を行います。ただしElect

Read more

loading画面を作成してボタン等の反応を一時的に止める Adobe Illustrator Extensionの開発 脱Hello Worldその14

最後になりました。今回おまけ的にloading画面を作ります。loadingの最中はあらゆる要素の反応を無効にしたいので全ての画面をload画面で覆います。これを図的に表すとこんな感じでしょうか。 立体的な要素の指定はz-indexを行います。詳しくはこちらも参照してください。 まずhtmlでload要素を配置します。 load要素はcontainerには必ず含めないでください。このload要素はcontainerと独立した要素なので。そして以下、css。 円がくるくる回転するcssです。ベースとなっているload要素にz-index:5と高めの要素を指定しています。 このload要素ですが普

Read more

Adobe Illustrator Extensionの開発 脱Hello Worldその13

前回に続きパネルのjsとjsxの通信についての記事です。 ヘッドの情報を書き込む機能から。ただこれは前回のガイドを引く機能のようにフォームの情報をjsxに渡して実行するだけなので前回とあまり変わりません。 html js データを書き込む情報を日付とパスアイテムの長さから選べますがどちらとも選択されていない場合は書き込む情報が無くなるのでアラートを出して処理を中止します。 ヘッド情報を書き込む関数です。hostscript.jsxに追加します。パネルの情報によって書き込む内容を変えます。(と言ってもチェックボックスのオン、オフ程度の事ですが)最後に関数分岐用のswitch構文でmakeHead

Read more

js->jsxの通信部分のデバッグ Adobe Illustrator Extensionの開発 脱Hello Worldその12

jsからjsxに通信する場合、jsx内でエラーが起きても具体的にどこで起きているのか分かりにくい、$.write関数(console.logのjsx版)が使えないなどかなり不便です。これをもう少しやりやすくします。とりあえずVSCodeでデバッグするためにExtendScript Debuggerを使用します。CEPの開発をしながらjsxのデバッグもしたいのでvscodeのlaunch.jsonをCEPフォルダーの直下に作ります。 launch.json CEPのフォルダーからjsx内のjsxのテストを実行できるように“program“を “${file}&

Read more

Adobe Illustrator Extensionの開発 脱Hello Worldその11

今回からjsxとパネルのjsで通信します。main.jsから通信する前に通信の対象となるjsxを作ります。最初はアクティブなアートボードに対してガイドを中央に引くjsxを動かすjsを書きます。singleProcessというフォルダにsetCenterGuide.jsxを作ってその中にガイドを引くコードを書きます。 今回の通信は特にフォームの数値を渡したりするわけではないので単純にガイドを引くだけのシンプルなjsxです。 setCenterボタンを押すとcenterGuide関数が実行されるようにイベントを登録。関数の引数にjsxのファイル名、singleProcessを渡します。事前に準備し

Read more