まえがき
今回はすごく簡単なプログラムですが、これこそプログラムの基本って感じました(笑)
こうゆう手作業でやると大変な作業もクリック一回。
やりたい事
コンポジションサイズをレイヤーサイズにフィットさせたい。
※レイヤーサイズをコンポジションサイズに合わせるのでなく、コンポジションサイズをレイヤーサイズに合わせる
以上でございます(笑)
説明するまでも無いのでメモ用です。
var myComp=app.project.activeItem;
var myLayer=app.project.activeItem.selectedLayers[0];
var lw=myLayer.width;
var lh=myLayer.height;
myComp.width=lw;
myComp.height=lh;
myLayer.property("ADBE Transform Group").property("ADBE Position").setValue([lw/2,lh/2])
2017/10/10 追加
シェイプレイヤー長方形パスにフィットさせる場合
var myComp=app.project.activeItem;
var myLayer=app.project.activeItem.selectedLayers[0];
var rect=myLayer.property("ADBE Root Vectors Group").property("ADBE Vector Shape - Rect").property("ADBE Vector Rect Size").value;
lw=rect[0];
lh=rect[1];
myComp.width=lw;
myComp.height=lh;
myLayer.property("ADBE Transform Group").property("ADBE Position").setValue([lw/2,lh/2])
2018/12/09 更新記事
前回のスクリプトではスケールに関しては入ってなく、先ほど使ってみたらドエライ事になったので
スケール分も考慮した更新版を張っておきます。
var myComp=app.project.activeItem;
var myLayer=app.project.activeItem.selectedLayers[0];
var myLW = myLayer.width;
var myLH = myLayer.height;
var myLS = myLayer.transform.scale.value;
var a = myLS[1]/100;
var resultW = myLW*a;
var ResultH = myLH*a;
$.writeln(resultW)
$.writeln(ResultH)
myComp.width=resultW;
myComp.height=ResultH;
とりあえず、参照したレイヤーのポジションなどはそのままになっているので、
あとからコンポジション内のレイヤーの整列は必要になります。