// チャンネルミキサー
function act_chMixer (cMode) {
    var subDesc= function (chSet, val){
        var desc= new ActionDescriptor();
        for (var i=0; i < val.length; i++) {
            desc.putUnitDouble( charIDToTypeID( chSet[i] ), charIDToTypeID('#Prc'), val[i] );
        }
        return desc;
    }
    var actDesc= new ActionDescriptor();
    var output= {'RD':'Rd  ', 'GR':'Grn ', 'BL':'Bl  ', 'CY':'Cyn ', 'MG':'Mgnt', 'YW':'Ylw ', 'K':'Blck'};
    var chList= {'RGB':['Rd  ','Grn ','Bl  ','Cnst'], 'CMYK':['Cyn ','Mgnt','Ylw ','Blck','Cnst']}
    for (var i=1; i < arguments.length; i++) {
        actDesc.putObject( charIDToTypeID( output[arguments[i].ch] ), charIDToTypeID('ChMx'), subDesc( chList[cMode], arguments[i].val ) ); // 出力チャンネル
    }
    executeAction( charIDToTypeID('ChnM'), actDesc, DialogModes.NO );
}
// RGB
var r= { ch: 'RD', val: [ 100, 0, 0, 0 ] }
var g= { ch: 'GR', val: [ 0, 100, 0, 0 ] }
var b= { ch: 'BL', val: [ 0, 0, 100, 0 ] }
act_chMixer('RGB', r, g, b); // デフォルト値
// CMYK
var c= { ch: 'CY', val: [ 100, 0, 0, 0, 0 ] }
var m= { ch: 'MG', val: [ 0, 100, 0, 0, 0 ] }
var y= { ch: 'YW', val: [ 0, 0, 100, 0, 0 ] }
var k= { ch: 'K', val: [ 0, 0, 0, 100, 0 ] }
act_chMixer('CMYK', c, m, y, k); // デフォルト値

 

<引数>

cMode string カラーモード
RGBカラー='RGB'
CMYKカラー='CMYK'

 

「cMode」には、続く引数が表す値のカラーモードを文字列で渡します(上記の表参照)。

第2引数以降には、チャンネル識別子を「ch」、チャンネルごとの設定値を配列化したものを「val」とする連想配列で渡します。

「val」の配列の並びはカラーモードの名称と同じ順番ですが、最後に「平行調整」の値を加えたものになります。

ch string チャンネル識別子
R='RD'
G='GR'
b='BL'
C='CY'
M='MG'
Y='YW'
K='K'
val array チャンネルごとの設定値
[R, G, B, 平行調整]
[C, M, Y, K, 平行調整]

 

 

 

Joomla templates by a4joomla