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を使うようにした(したたか企画さんに教えていただきました!)。
これで複合パスのパターンにもちゃんと対応したはず
PR