忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[イラレ]
イラレの画像再リンクをBridgeから行うためのスクリプトをつくったー

せっかく使いたい画像がBridge上で目の前にあるのに、OSのファイル選択ダイアログでちまちまフォルダたどっていって見つけなきゃいけない、みたいなの極力なくしたいよねっていう人のためのBridgeスクリプトを書いてみました。



※CS6@Win7で開発しています。CS5以下では動きません。CCは未知数。

使う準備


①Bridgeを開いて、編集>環境設定からスタートアップスクリプトの『マイスタートアップスクリプトを表示』をクリック

②Startup Scriptsフォルダが開くので、ここに『イラレの選択画像をこれに再リンク.jsx』を置きます

③Bridgeを再起動すると「新しい機能を有効にしますか?」みたいなダイアログが出るのでOKを押します



使い方


①イラレ上で、リンク画像、埋め込み画像、またはそれらをクリッピングマスクしたものを1つだけ選択します

②Bridge上で画像ファイルを選択し、右クリックメニューから『イラレの選択画像をこれに再リンク』を実行します

③イラレ上で画像が置き換わります
PR

[イラレ]
イラレの配置画像用 変形パネルをつくったー


InDesignみたいに現在の変形値を取得したり変更したりできるタイプの変形パネルっぽいものを生成するIllustratorスクリプト(jsxbin)です。
たとえばこんなときに使えます。

・うっかりShift放して変形しちゃったけど縦横比を戻したい
・回転がかかった画像にさらにシアーをかけたい
・回転、シアーの角度を変更したい
・ある画像の変形値を別の画像にも適用したい

※リンク画像または埋め込み画像を選択して使用できます。たとえば「リンク画像を含むクリッピングマスク」を選択しても使用できません。リンク画像をダイレクト選択すれば使えます

※選択物が変更されたときに自動的にパネルの値が変わったりはしないので、いちいち「取得」ボタンを押さなきゃいけません。ある変形値を複数の画像に適用する場合などはかえって便利かも

※単位が表示されませんが、X,Yは%、回転・シアーは度(°)です。単位付き入力はできません


※「270°回転を270°とするか-90°とするか」というような細かい仕様はInDesignの変形パネルを真似してます

※リンク画像を埋め込み画像にするとX,Yのスケールが変わることがありますがイラレの仕様です

[イラレ]
イラレのスクリプトパネルっぽいやつに『メニューコマンドを実行する機能』などを追加した


・イラレのメニューコマンドをキーボードショートカットで実行できる機能を追加
・スクリプトを右クリックメニューから編集できるようにした

の2点を更新しました。
前のバージョンにAvastちゃんが反応する問題はアイコンを修正したらなぜか治りました。

ダウンロードはこちら




イラレのメニューコマンドをキーボードショートカットで実行できる機能を追加


と言ってもこんなのはイラレの標準機能でできるわけで、単に使えるキーが増える(無変換キー、マウスの拡張ボタンなど)という程度のものです。

また、メニューコマンドの登録には、ExtendScriptのapp.executeMenuCommandの引数で使われる、メニューに対応した文字列を調べる必要があります。手抜きLab@DTPの現場さんのところに一覧表がありますが、完全ではありません(たとえば後述の『preview』などが書かれていません)。

調べたらAiMenuCommand.txtに、
menuCommandString\パネルに表示されるメニュー名
の形で書き加えます。
デフォルトでは、私が使いたかった以下の4つが登録されています。

fitin\アートボード全体を表示
preview\プレビュー/アウトライン
ink\オーバープリントプレビュー
raster\ピクセルプレビュー

たとえば、previewのキーに『RButton & LButton』を設定すると、右ボタン押しながら左クリックのマウス操作(いわゆるロッカージェスチャ)だけでプレビュー←→アウトラインの表示切り替えができます。

※CS6以降限定です。それ以前のバージョンの方はAiMenuCommand.txtを削除してください。パネルに『メニューコマンド』フォルダが表示されなくります。



スクリプトを右クリックメニューから編集できるようにした


エクスプローラーでの右クリック→編集と同じ挙動なので、通常は.jsxはExtendScriptToolkit、.jsはメモ帳かな?
常にESTKで開きたいけどESTKの開くファイルの指定の仕方がよくわからん

[イラレ]
テキスト、画像、パターンの変形を消去するスクリプト

var sel0=app.selection[0];
switch (sel0.constructor.name){
    case "TextFrame":
    case "RasterItem":
        var m=invertMatrix(sel0.matrix)
        m.mValueTX=m.mValueTY=0;
        sel0.transform(m);
        app.executeMenuCommand('AI Reset Bounding Box');
        break;
    case "PlacedItem":
        var m=invertMatrix(sel0.matrix)
        m.mValueTX=m.mValueTY=0;
        if (sel0.file.fsName.substr(-3).match(/eps/i)){
            m.mValueB*=-1;
            m.mValueC*=-1;
        } else {
            m.mValueC*=-1;
            m.mValueD*=-1;
        }
        sel0.transform(m);
        app.executeMenuCommand('AI Reset Bounding Box');
        break;
    case "PathItem":
    case "CompoundPathItem":
        var c=app.activeDocument.defaultFillColor  ;
        if (c.constructor.name!="PatternColor") break;
        var m=invertMatrix(c.matrix);
        m.mValueB*=-1;
        m.mValueC*=-1;
        sel0.transform(m,0,1,0,0,0);
        break;
}



つかいかた

テキストアイテム、配置画像、埋め込み画像、塗りにパターンを適用したパスのいずれかを1つ選択して実行します。

※テキストのフォントサイズ、水平・垂直比率は元に戻りません
※埋め込み画像の大きさは元に戻りません
※パターンの位置は元に戻りません

したたか企画さんに助言をいただいて制作しました。

(2016.06.28 20:00) 以下の2点を修正
・拡張子が大文字のEPSファイルで失敗する問題を修正
・複合パスに対応しようとした(できてない)

(2016.06.30) さらに修正
・パターンの変形値の取得にドキュメントのdefaultFillColorを使うようにした(したたか企画さんに教えていただきました!)。

これで複合パスのパターンにもちゃんと対応したはず

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

フリーエリア