LoginSignup
0
0

More than 5 years have passed since last update.

コンポジションの中のレイヤーサイズを基にコンポジションサイズをフィット

Last updated at Posted at 2017-05-24

まえがき

今回はすごく簡単なプログラムですが、これこそプログラムの基本って感じました(笑)
こうゆう手作業でやると大変な作業もクリック一回。

やりたい事

コンポジションサイズをレイヤーサイズにフィットさせたい。
※レイヤーサイズをコンポジションサイズに合わせるのでなく、コンポジションサイズをレイヤーサイズに合わせる

以上でございます(笑)

説明するまでも無いのでメモ用です。

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;

とりあえず、参照したレイヤーのポジションなどはそのままになっているので、
あとからコンポジション内のレイヤーの整列は必要になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0