クリエイター手抜きプロジェクト[385]Adobe Photoshop CS3〜CC編  選択されたレイヤーに対して位置を揃える/古籏一浩

投稿:  著者:  読了時間:6分(本文:約2,900文字)


今回は、Photoshopで選択されたレイヤーに対して、位置を揃えるスクリプトです。このスクリプトは、選択されたレイヤーと同じ階層にあるレイヤーが対象です。他の階層にあるレイヤーの位置は調整しません。


このスクリプトには珍しく(?)GUIをつけてみました。ラジオボタンでどの位置に合わせるかを指定できるようになっています。OKボタンをクリックすると位置が調整されます。
スクリプト実行終了時にアラートダイアログを表示させたい場合は「//alert("位置を調整しました");」の行の 先頭の//を削除してください。


(function(){
var parent = activeDocument.activeLayer.parent;
var layObj = parent.artLayers;
// 位置を示す変数
var point = "";
// ここからGUI
var winObj = new Window("dialog", "レイヤーセット内位置調整", [0,0, 320, 170]);
var btnLeft = winObj.add("radiobutton", [ 20,10, 300, 25], "左端に合わせる");
var btnRight = winObj.add("radiobutton", [ 20,40, 300, 55], "右端に合わせる");
var btnUp = winObj.add("radiobutton", [ 20,70, 300, 85], "上端に合わせる");
var btnDown = winObj.add("radiobutton", [ 20,100, 300, 115], "下端に合わせる");
var okBtn = winObj.add("button", [ 180, 130, 300, 155], "OK", { name : "ok" });
var cancelBtn = winObj.add("button", [ 20, 130, 150, 155], "キャンセル", { name : "cancel" });
// ボタンにイベントを割り当てる
btnLeft.onClick = function(){
point = "LEFT";
}
btnRight.onClick = function(){
point = "RIGHT";
}
btnUp.onClick = function(){
point = "UP";
}
btnDown.onClick = function(){
point = "DOWN";
}
// 中央にGUIウィンドウを表示
winObj.center();
var n = winObj.show();
if (n != 1){ return; } // キャンセルボタンが押された
if (point == ""){ return; } // ラジオボタンが選択されなかった
var rect = activeDocument.activeLayer.bounds;
var baseX1 = parseFloat(rect[0]);
var baseY1 = parseFloat(rect[1]);
var baseX2 = parseFloat(rect[2]);
var baseY2 = parseFloat(rect[3]);
for(var i=0; i<layObj.length; i++){
var rect = layObj[i].bounds;
var x1 = parseFloat(rect[0]);
var y1 = parseFloat(rect[1]);
var x2 = parseFloat(rect[2]);
var y2 = parseFloat(rect[3]);
switch(point){
case "LEFT" : layObj[i].translate(baseX1-x1, 0); break;
case "RIGHT" : layObj[i].translate(baseX2-x2, 0); break;
case "UP" : layObj[i].translate(0, baseY1-y1); break;
case "DOWN" : layObj[i].translate(0, baseY2-y2); break;
}
}
//alert("位置を調整しました");
})();


ちなみに、選択されているレイヤーのサイズで他のレイヤーを切り抜く場合は、以下の1行でできます。また、手作業でやるなら、「コマンドキー(WindowsはCTRLキー)+A」「カーソルキーの上」「カーソルキーの下」とキーを押してから、イメージメニュー>切り抜きになります。

activeDocument.crop(activeDocument.activeLayer.bounds);


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

消費税アップによる駆け込み需要のプチバブルは先週終息してしまったみたいで、例年通りの売り上げ/アクセス数戻ってしまいました。ということで、毎年1%あげれば毎年プチバブルが発生。

次は10%ということだけど、それ以上アップするのか。

8%になっても自動販売機は以前のままの金額で、唯一高速道路にある自動販売機だけが130円に値上がりしてたくらい。近くの安いところとの差は30円もある(同じものは近くの自動販売機では100円で販売している)。

うちも結局、全部消費税転嫁することはできなかったので、転嫁したもの(役所関係)とそうでないもの(一般/個人)になってしまった状態。なんか消費税Gメンがいるらしいけど、個人客相手の小売りでは意味なかったりする。売れなきゃアウトなので。まあ、「苛政は虎よりも猛し」という感じになっていきそう。

・4K/ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082 >

・D3.js例文辞典
< http://www.openspc2.org/reibun/D3.js/ >

・Dart例文辞典
< http://www.openspc2.org/reibun/Dart/ver1.1/ >

・Adobe CS2〜CS6,CC JavaScriptリファレンス&ライブラリ
< http://www.openspc2.org/reibun/AdobeJS/index.html >

・Adobe JavaScriptリファレンス(検索できないのはKindleのバグらしい)
< http://www.amazon.co.jp/dp/4844395955 >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< https://www.ddc.co.jp/estore/cgi/item/start.cgi?m=DetailViewer&record_id=243 >
吉田印刷所の「印刷の泉」でも購入できるようになりました。