見出し画像

【イラレ用スクリプト】複数オブジェクトを個別に反転

経緯

私の場合は、
左始まりの年表を縦書き本に使用するために
右始まりの年表に変換したかったのです。

例えばテキストボックスがいくつかあって配置を左右反転したいとき
複数のテキストボックスを「複数選択した状態でリフレクト」をすると、
全体がリフレクトされて、文字自体も反転してしまいます。
その後、それぞれ「個別に選択してリフレクト」をすれば戻ります。

オブジェクトが少ない場合は手動でやって問題ないですが、
大量にある場合にはなかなかの手間なので、
chatGPTさんに聞いてスクリプトを書いてもらいました。

スクリプト

#target illustrator

// アクティブドキュメントを取得
var doc = app.activeDocument;

// 選択されているオブジェクトを取得
var items = doc.selection;

// すべての選択されたオブジェクトに対して垂直リフレクトを実行
for (var i = 0; i < items.length; i++) {
    var item = items[i];
    
    // リフレクトのための変形行列を作成
    var reflectionMatrix = app.getScaleMatrix(-100, 100);  // 垂直方向に反転、水平はそのまま

    // オブジェクトをリフレクト(変形行列を適用)
    item.transform(reflectionMatrix, true, true, true, true, 0, Transformation.CENTER);
}

解説

  1. 反転したいオブジェクト群を(手動で)選択。

  2. スクリプト実行(ファイル>スクリプト>その他のスクリプト>ReflectEach)

  3. オブジェクトがそれぞれ個別に「選択」→「リフレクト( 垂直)」します。



いいなと思ったら応援しよう!