選択範囲を楕円にする

■プログラム説明(ソースコード説明)
 標準では楕円形で選択するための命令が用意されていないのでScripting Listenerプラグインを使ってスクリプトを生成します。どの範囲を選択するかを示すputUnitDouble( pos, unit, 20.0);の座標値を変更する事で任意のサイズの楕円形で囲むことができます。

---------------------------------------------------------------------------------------------------------
■ソースコード
id1 = charIDToTypeID("setd");
id2 = charIDToTypeID("null");
id3 = charIDToTypeID("Chnl");
id4 = charIDToTypeID("fsel");
desc1 = new ActionDescriptor(); ←アクションデスクプリタを作成します
desc2 = new ActionDescriptor();
ref1 = new ActionReference(); ←アクションリファレンスを作成します
ref1.putProperty( id3, id4 );
desc1.putReference( id2, ref1);

unit = charIDToTypeID( "#Pxl"); ←選択する座標の単位をピクセル(pixel)にします
id5 = charIDToTypeID( "T " );

pos = charIDToTypeID( "Top "); ←指定する座標を上側にします
desc2.putUnitDouble( pos, unit, 20.0); ←座標を20ピクセルにします

pos = charIDToTypeID( "Left" ); ←指定する座標を左側にします
desc2.putUnitDouble( pos, unit, 30.0); ←座標を30ピクセルにします

pos = charIDToTypeID( "Btom" ); ←指定する座標を下側にします
desc2.putUnitDouble( pos, unit, 100.0); ←座標を100ピクセルにします

pos = charIDToTypeID( "Rght" ); ←指定する座標を右側にします
desc2.putUnitDouble( pos, unit, 300.0); ←座標を300ピクセルにします

selType = charIDToTypeID( "Elps" ); ←選択形状を楕円形にします
anti = charIDToTypeID( "AntA" );
desc1.putObject( id5, selType, desc2 );
desc1.putBoolean( anti, true ); ←アンチエイリアスをオンにします
executeAction( id1, desc1, DialogModes.NO ); ←処理を実行します

---------------------------------------------------------------------------------------------------------
■使い方
1:ファイルメニューからスクリプトを実行します。
2:座標(30,20)-(300,100)の範囲が楕円形で選択されます。

---------------------------------------------------------------------------------------------------------
■ポイント
 楕円形でなく矩形で選択したい場合には選択形状を矩形にします。selType = charIDToTypeID( "Elps" );の行を以下のように変更すると矩形で選択されます。

selType = charIDToTypeID( "Rctn" );

---------------------------------------------------------------------------------------------------------
■注意
 範囲を選択させる場合には処理したいドキュメントをアクティブにする必要があります。

■実際のスクリプトをダウンロード(sample.js.zip)