(なんだかガイドを引くjsxばっかり作ってる気がするけど)
選択範囲に沿ってガイドを引けた方が、前に作ったカンバス枠にガイド引くだけの機能よりシンプルさはあまり変わらず使い道が広がって便利だよなぁとほんのり思ったので改造した。
Ctrl + Aすればカンバス枠の選択範囲が出来るわけだし。
使い方
[ファイル] – [スクリプト] – [参照] から下からダウンロードしたjsxを選択する。
(xpの場合) C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト の中に.jsxを入れておけば[ファイル] – [スクリプト] から使用できる。
ExtendScript Toolkitからも使える。
ダウンロード
addGuide.jsx|選択範囲にあわせてガイドを引く.jsx
挙動 / どんなガイドが引かれるか
ソース
function selectionRange(){
try {
//選択範囲を取得
var boundsObj = activeDocument.selection.bounds;
x1 = parseInt(boundsObj[0]);
y1 = parseInt(boundsObj[1]);
x2 = parseInt(boundsObj[2]);
y2 = parseInt(boundsObj[3]);
//選択範囲にガイドを引く
guideWrap("Vrtc",x1);//左上
guideWrap("Vrtc",x2);//右上
guideWrap("Hrzn",y1);//左上
guideWrap("Hrzn",y2);//左下
}
catch(e){
alert("選択範囲がありません。");
}
}
function guideWrap(direction,position){
var id1 = charIDToTypeID( "Mk " );
var desc1 = new ActionDescriptor();
var id2 = charIDToTypeID( "Nw " );
var desc2 = new ActionDescriptor();
var id3 = charIDToTypeID( "Pstn" );
var id4 = charIDToTypeID( "#Pxl" );
desc2.putUnitDouble( id3, id4, position );
var id5 = charIDToTypeID( "Ornt" );
var id6 = charIDToTypeID( "Ornt" );
var id7 = charIDToTypeID( direction );
desc2.putEnumerated( id5, id6, id7 );
var id8 = charIDToTypeID( "Gd " );
desc1.putObject( id2, id8, desc2 );
executeAction(id1,desc1,DialogModes.NO);
}
// ==========
// 実行
// ==========
selectionRange();
参考
選択範囲の取得方法を参考にさせていただきました。
崖っぷちWEBデザイナーブログ | photoshopのscript機能メモ(CS3)
![基本の四角 [image]四角形の選択範囲](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-1.png)
![四角形にガイド [image]ガイドが引かれた](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-2.png)
![円形の選択範囲 [image]円形の選択範囲](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-3.png)
![円形の選択範囲でガイドを引いた結果 [image]円形の選択範囲でガイドを引いた結果](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-4.png)
![ふきだし型のせんたく範囲 [image]ふきだし型のせんたく範囲](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-5.png)
![選択範囲の外側にガイド [iamge]ふきだし型選択範囲の外側にガイドが引かれた](http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-6.png)