イラレで選択した複数オブジェクトの幅を縦横比を変えずに揃えるスクリプト
イラレで選択した複数オブジェクトの幅を縦横比を変えずに揃えるスクリプトが欲しかったので作った。車輪の再発明感ハンパないが、ちょっと探した限り、幅のみ変える(=縦横比が変わってしまう)スクリプトはあったのだが、縦横比を変えずに幅を揃えられるのはなかったので……。
仕様
- 選択した複数オブジェクトの幅を、その中の最前面オブジェクトに揃える。
- このとき、各オブジェクトの縦横比は変えないように変形する。
- 選択オブジェクトが1つ以下の場合は何もしない。
GitHub
https://github.com/michihisa/AI-script-set-the-width-of-selected-objects
var selectedObj = activeDocument.selection; // 選択オブジェクトが2つ以上なければ何もしない if (selectedObj.length <= 1) { alert('オブジェクトを2つ以上選択してください。'); } else { // この幅に揃える var w = selectedObj[0].width; for (var i = 0; i < selectedObj.length; i++) { // 縦横比 var ratio = w / selectedObj[i].width; // 変更後の高さ var h = selectedObj[i].height * ratio; // 変更 selectedObj[i].width = w; selectedObj[i].height = h; } }
備考
- SPAiなどのイラレ用スクリプトランチャーがあるとより便利(ショートカット設定も行える)。 https://tama-san.com/spai/
- 整列時のようにキーオブジェクトを指定して、そいつ基準で幅を揃えられると尚良かったのだが、少し調べた限りスクリプトでキーオブジェクトを取得する方法がわからなかった(誰か教えてくれると嬉しいです!)。できないっぽい(?)