選択範囲にあわせてガイドを引く.jsx

  • このエントリーをはてなブックマークに追加
  • LINEで送る

(なんだかガイドを引くjsxばっかり作ってる気がするけど)
選択範囲に沿ってガイドを引けた方が、前に作ったカンバス枠にガイド引くだけの機能よりシンプルさはあまり変わらず使い道が広がって便利だよなぁとほんのり思ったので改造した。
Ctrl + Aすればカンバス枠の選択範囲が出来るわけだし。

使い方

[ファイル] – [スクリプト] – [参照] から下からダウンロードしたjsxを選択する。
(xpの場合) C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト の中に.jsxを入れておけば[ファイル] – [スクリプト] から使用できる。

ExtendScript Toolkitからも使える。

ダウンロード

addGuide.jsx|選択範囲にあわせてガイドを引く.jsx

挙動 / どんなガイドが引かれるか

こんな感じの選択範囲だと
[image]四角形の選択範囲

こうなる
[image]ガイドが引かれた

四角じゃない選択範囲だと
[image]円形の選択範囲

こうなる
[image]円形の選択範囲でガイドを引いた結果

変な形の選択範囲だと
[image]ふきだし型のせんたく範囲

こうなる、予想通り。
[iamge]ふきだし型選択範囲の外側にガイドが引かれた

ソース

[js]
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();[/js]

参考

選択範囲の取得方法を参考にさせていただきました。
崖っぷちWEBデザイナーブログ | photoshopのscript機能メモ(CS3)

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメント

コメントを残す


You can add images to your comment by clicking here.