// レンズフィルター
function act_photoFilter (cMode, val, amount, lumi) {
    var actDesc= new ActionDescriptor();
    var subDesc= new ActionDescriptor();
    var ch= {'RGB':['Rd  ','Grn ','Bl  ','RGBC'], 'Lab':['Lmnc','A   ','B   ','LbCl'], 'HSB':['H   ','Strt','Brgh','HSBC'], 'CMYK':['Cyn ','Mgnt','Ylw ','Blck','CMYC']}
    if (cMode=='HSB') {
        subDesc.putUnitDouble( charIDToTypeID('H   '), charIDToTypeID('#Ang'), val[0] );
    } else {
        subDesc.putDouble( charIDToTypeID( ch[cMode][0] ) ), val[0] );
    }
    subDesc.putDouble( charIDToTypeID( ch[cMode][1] ), val[1] );
    subDesc.putDouble( charIDToTypeID( ch[cMode][2] ), val[2] );
    if (cMode=='HSB') { subDesc.putDouble(
        subDesc.putDouble( charIDToTypeID( ch[cMode][3] ), val[3] );
        actDesc.putObject( charIDToTypeID('Clr '), charIDToTypeID( ch[cMode][4] ), subDesc );
    } else {
        actDesc.putObject( charIDToTypeID('Clr '), charIDToTypeID( ch[cMode][3] ), subDesc );
    }
    actDesc.putInteger( charIDToTypeID('Dnst'), amount ); // 適用量
    actDesc.putBoolean( charIDToTypeID('PrsL'), lumi ); // 輝度を保持
    executeAction( stringIDToTypeID('photoFilter'), actDesc, DialogModes.NO );
}
act_photoFilter('RGB', [236.0, 138.0, 0], 25, true); // デフォルト値

 

<引数>

cMode string フィルター色のカラーモード
RGBカラー='RGB'
Labカラー='Lab'
HSBカラー='HSB'
CMYKカラー='CMYK'
val array(double) フィルター色[val1, val2, val3]
amount integer 適用量(1~100)
lumi boolean 輝度を保持

 

「cMode」には続く「val」で指定するフィルター色のカラーモードを渡します(上記の表参照)。

「val」には手前のカラーモード(cMode)に合わせた数値を配列化して渡します。配列の並びはカラーモードの名称と同じ順番です(例:RGB=[R, G, B])。

 

 

 

Joomla templates by a4joomla