Skip to main content
chonp
Inspiring
March 8, 2022
Answered

変形のかかった配置イメージを等倍に修正する方法を教えて下さい

  • March 8, 2022
  • 2 replies
  • 2586 views

変形をかけてしまった配置イメージを等倍(変形なし)に簡単に修正する方法を教えて下さい。

現状では再配置で対応していますが、サイズ変更や再マスク処理など手間がかかってしまいます。

倍率を計算して修正しても端数などが出て正確では有りません。

Indesignにように%指定ができないので難儀しております。

良い方法あるでしょうか。

mac版v26.03です

Correct answer Ten A

間違いのないよう手順かいておきます。

Mac標準アプリ「テキストエディット」を例にします。

 

・新規ファイルを開く

・フォーマットメニューを確認、「標準テキストにする」があればそれを実行(いまリッチテキストになっているという事になります)

「リッチテキストに変更」が見えていたら何もしなくてOK(いま標準テキストになっているという事になります)

※使い慣れたエディタを使う場合は、標準テキストでは「プレーンテキスト」と呼ばれている場合があります

 

・その、標準テキストの状態で、スクリプトをブラウザからコピー&ペースト

・保存

  • 名前はてきとう、場所も一旦てきとうでOK、拡張子は.jsx
  • フォーマットはUTF-8
  • 拡張子が未指定の場合は".txt"にする、的なチェックは外す(外さないと、保存後によく見たら.jsx.txtになっちゃってた、とかあります)

 

・スクリプトの置き場所は

Adobe Illustrator 2022  >  Presets  >  ja_JP  >  スクリプト

ここは間違えてないようですがいちおう(こっそり横取りしたい人向け)

 

以上です。当方のMonterey / 26.0.3 では動きました。

 

ところで実行結果これでした。ちょっとコード見直す必要あるかもしれません…w


画像の場合は回転は別処理必要ですね。

 

 

var tg = app.selection[0];
tg.rotate(tg.tags[0].value * -180/Math.PI);
tg.tags[0].remove(); 
var m= tg.matrix;
var mtx = app.invertMatrix(m);
mtx.mValueTX = 0;
mtx.mValueTY = 0;
tg.transform(mtx);
mtx.mValueA = m.mValueA;
mtx.mValueD = -m.mValueA;
mtx.mValueB = 0;
mtx.mValueC = 0;
mtx.mValueTX = 0;
mtx.mValueTY = 0;
tg.transform(mtx);

 

 



2 replies

chonp
chonpAuthor
Inspiring
March 8, 2022

色々詳しくありがとうございます。

ファインダー上でファイルを選択すると「標準テキストファイル」となっておりました。

当初のファイルを、指摘通り改めて保存し直したところ、無事に動作致しました。

横サイズを基準に縦サイズが変更され正体に戻すことが出来ました。

Ten A
Community Expert
Community Expert
March 8, 2022

変倍を解除するスクリプトならこれですね。

 

var m= app.selection[0].matrix;
var mtx = app.invertMatrix(m);
mtx.mValueTX = 0;
mtx.mValueTY = 0;
app.selection[0].transform(mtx);
mtx.mValueA = m.mValueA;
mtx.mValueD = -m.mValueA;
mtx.mValueB = 0;
mtx.mValueC = 0;
mtx.mValueTX = 0;
mtx.mValueTY = 0;
app.selection[0].transform(mtx);

 

反転行列を適用して原寸の状態まで戻した後で横方向の倍率を再度適用し直します。

Ten A
Community Expert
Community Expert
March 8, 2022

あ〜、原寸ならこうですね

 

 

 

var m= app.selection[0].matrix;
var mtx = app.invertMatrix(m);
mtx.mValueTX = 0;
mtx.mValueTY = 0;
mtx.mValueD = -mtx.mValueD;
app.selection[0].transform(mtx);

 

 

 

……(^-^;