PhotoshopのレイヤーをカンバスにフィットさせるJSXを書いてみました。
選択中レイヤー(複数選択可)のタテヨコ短い方を基準にフィットします。(タテヨコ長い方がカンバスからハミ出ますが、中央揃えされます)
サムネイル大量に作るのにちょう便利。
トリミングとかも早くなるよ!(別ドキュメントで必要な部分を切り出して、書き出したいサイズのドキュメントにコピペ→JSX発動)
下記コードを「レイヤーをカンバスにフィット.jsx」など適当な名前で保存してください。
-
var canvasWidth = activeDocument.width;
-
var canvasHeight = activeDocument.height;
-
var layer = activeDocument.activeLayer;
-
var layerX = layer.bounds[0];
-
var layerY = layer.bounds[1];
-
var layerWidth = layer.bounds[2] - layerX;
-
var layerHeight = layer.bounds[3] - layerY;
-
var rate;
-
-
if(layerHeight * (canvasWidth / layerWidth)>= canvasHeight){
-
// 拡大縮小倍率を白が出ないようにするため小数点以下第4位で切り上げ(この辺は調整してください)
-
rate = Math.ceil((canvasWidth / layerWidth) * 10000) / 100;
-
} else {
-
// 拡大縮小倍率を白が出ないようにするため小数点以下第4位で切り上げ(この辺は調整してください)
-
rate = Math.ceil((canvasHeight / layerHeight) * 10000) / 100;
-
}
-
-
// レイヤーをリサイズ
-
layer.resize(rate, rate);
-
-
layerX = layer.bounds[0];
-
layerY = layer.bounds[1];
-
layerWidth = layer.bounds[2] - layerX;
-
layerHeight = layer.bounds[3] - layerY;
-
-
// 中央寄せ
-
layer.translate(((canvasWidth - layerWidth) / 2) - layerX, ((canvasHeight - layerHeight) / 2) - layerY);