クリエイター手抜きプロジェクト[156]Photoshop CS/CS2/CS3編 レイヤーを指定座標に移動させる
── 古籏一浩 ──

投稿:  著者:


Photoshopでは自由にレイヤーを移動させることができますが、座標を正確に指定して移動させることができません。今回は、レイヤーを指定座標に移動させるスクリプトです。

最初のスクリプトは、アクティブになっているレイヤーを指定した座標(100, 50)に移動させるものです。

なお、Photoshopは左上が座標の原点になっており、右下に向かって座標値が大きくなります。(Illustratorは左下が原点で右上に向かって座標値が大きくなります。Illustratorは数学座標と同じです)


saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
layObj = activeDocument.activeLayer;
layX = parseInt(layObj.bounds[0]);
layY = parseInt(layObj.bounds[1]);
layObj.translate(-layX, -layY);
x = 100;
y = 50;
layObj.translate(x, y);
preferences.rulerUnits = saveUnit;


移動させる座標値を変更するには

x = 100;
y = 50;

の値を修正してください。座標値が固定されていることは少ないでしょうから、任意の位置に移動させるには以下のスクリプトを使ってください。以下のスクリプトでは、X,Y座標値を入力できるようになっています。

saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
layObj = activeDocument.activeLayer;
layX = parseInt(layObj.bounds[0]);
layY = parseInt(layObj.bounds[1]);
layObj.translate(-layX, -layY);
x = parseInt(prompt("X座標", 100));
y = parseInt(prompt("Y座標", 50));
layObj.translate(x, y);
preferences.rulerUnits = saveUnit;

アクティブになっているレイヤーではなく、全てのレイヤーをまとめて同じ座標に移動させたい場合には、以下のスクリプトになります。

saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
x = parseInt(prompt("X座標", 100));
y = parseInt(prompt("Y座標", 50));
for (i=0; i< activeDocument.layers.length; i++)
{
layObj = activeDocument.layers[i];
if (!layObj.isBackgroundLayer)
{
layX = parseInt(layObj.bounds[0]);
layY = parseInt(layObj.bounds[1]);
layObj.translate(-layX, -layY);
layObj.translate(x, y);
}
}
preferences.rulerUnits = saveUnit;


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

裁判員制度について講習みたいなのがあったので行ってきましたが……。これは予想以上に駄目な予感。とりあえず、以下のページにまとめました。
< http://www.openspc2.org/saiban/index.html
>

photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

改訂新版 SQLポケットリファレンス (Pocket reference) [改訂版] PHP ポケットリファレンス (Pocket reference) 基礎 Ajax + JavaScript 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE)



photo
Ajaxライブラリリファレンス
古籏 一浩
ビー・エヌ・エヌ新社 2007-01
おすすめ平均 star
starまずはAjaxを使ってみたい

まるごとJavaScript & Ajax ! Vol.1 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 Ajaxハッカーズ・プログラミング―基礎からprototype.js、Yahoo!UIライブラリ、HTML_AJAXの活用までWebアプリケーション制作のプログラミング・テクニック WEB+DB PRESS 総集編 [Vol.1~36] PHPによるJavaScriptを書かないAjax



photo
Web標準テキスト(1) DOM Scripting (Web標準テキストシリーズ 1)
古籏 一浩
技術評論社 2008-01-12

Web標準テキスト(2) CSS (Web標準テキストシリーズ 2) Web標準テキスト(3) HTML/XHTML (Web標準テキストシリーズ 3) Webプロフェッショナルのための黄金則 XHTML+CSS虎の巻 (Web Designing BOOKS) PEAR―PHPライブラリ

by G-Tools , 2008/02/04