クイックマスクや、レイヤーマスクをオーバーレイ表示したときのオーバーレイカラーを好きなように切り替えます。
実行するたびに、HSBのHに+60〜120して色を変えます。
▼画像に合わせて適宜変えてやるとオーバーレイ(=選択範囲・マスク)が見やすくなります。
ChangeMaskColor.jsx
/*
<javascriptresource>
<name>マスクカラー変更</name>
<category>YPresets</category>
</javascriptresource>
*/
var myRegKey ="myMaskColor"; //実行内容を記録させるキー名
//カラーと不透明度設定
var myDefHSBS = 50; //彩度(〜100)
var myDefHSBB = 100; //輝度(〜100)
var myDefOpacity = 70; //マスクの不透明度(〜100)
var myHSBAngle = 60; //HSBのHに足す数値。120でRGB、60でCMYをプラス
//キーが無い初回起動時作成
try{
var customActionDescriptor = app.getCustomOptions(myRegKey);
var myColor = customActionDescriptor.getString(1001);
}catch(e){
var myColor = myPutString (0)
}
//前回実行した記録に基づいてカラー設定
var myColor=Number(myColor)+myHSBAngle;
if(myColor>=360){myColor=0};
myPutString (myColor);
//実行部分
try{
executeChangeColor(myColor);
}catch(e){}
//関数:実行した色合いを記録
function myPutString(myH){
var desc = new ActionDescriptor();
desc.putString(1001,myH);
app.putCustomOptions(myRegKey, desc, true);
return myH;
}
//関数:マスクカラー変更
function executeChangeColor(myHSBsH){
var idsetd = charIDToTypeID( 'setd' );
var desc12 = new ActionDescriptor();
var idnull = charIDToTypeID( 'null' );
var ref3 = new ActionReference();
var idChnl = charIDToTypeID( 'Chnl' );
var idOrdn = charIDToTypeID( 'Ordn' );
var idTrgt = charIDToTypeID( 'Trgt' );
ref3.putEnumerated( idChnl, idOrdn, idTrgt );
desc12.putReference( idnull, ref3 );
var idT = charIDToTypeID( 'T ' );
var desc13 = new ActionDescriptor();
var idClr = charIDToTypeID( 'Clr ' );
var desc14 = new ActionDescriptor();
var idH = charIDToTypeID( 'H ' );
var idAng = charIDToTypeID( '#Ang' );
desc14.putUnitDouble( idH, idAng, myHSBsH );
var idStrt = charIDToTypeID( 'Strt' );
desc14.putDouble( idStrt, myDefHSBS );
var idBrgh = charIDToTypeID( 'Brgh' );
desc14.putDouble( idBrgh, myDefHSBB );
var idHSBC = charIDToTypeID( 'HSBC' );
desc13.putObject( idClr, idHSBC, desc14 );
//不透明度を自分で変えたい場合はこのブロックを削除する
var idopacity = charIDToTypeID( "Opct" );
var idpercentUnit = charIDToTypeID( "#Prc" );
desc13.putUnitDouble( idopacity, idpercentUnit, myDefOpacity );
//ここまで不透明度変更ブロック
var idChnl = charIDToTypeID( 'Chnl' );
desc12.putObject( idT, idChnl, desc13 );
executeAction( idsetd, desc12, DialogModes.NO );
}