【Photoshop JSX】色相・彩度レイヤーを追加してHSV値を設定するスクリプト
はじめに
色相・彩度レイヤーを追加してHSV値を設定するスクリプトの作り方がわからなくて数時間苦しんだので備忘録として残しておきます。
Photoshopのバージョンは以下の通りです
2015.5.1 20160722.r.156 2016/07/22:23:00:00 CL 1083377 x64
Windows 10 64ビット
色相・彩度レイヤーを追加
ScriptListnerを使って調べました。
/**
* 選択しているレイヤーに色相・彩度レイヤーを追加する
*/
function addHueSatLayer(){
var idMk = charIDToTypeID( "Mk " );
var desc99 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref39 = new ActionReference();
var idAdjL = charIDToTypeID( "AdjL" );
ref39.putClass( idAdjL );
desc99.putReference( idnull, ref39 );
var idUsng = charIDToTypeID( "Usng" );
var desc100 = new ActionDescriptor();
var idClr = charIDToTypeID( "Clr " );
var idClr = charIDToTypeID( "Clr " );
var idOrng = charIDToTypeID( "Orng" );
desc100.putEnumerated( idClr, idClr, idOrng );
var idType = charIDToTypeID( "Type" );
var desc101 = new ActionDescriptor();
var idpresetKind = stringIDToTypeID( "presetKind" );
var idpresetKindType = stringIDToTypeID( "presetKindType" );
var idpresetKindDefault = stringIDToTypeID( "presetKindDefault" );
desc101.putEnumerated( idpresetKind, idpresetKindType, idpresetKindDefault );
var idClrz = charIDToTypeID( "Clrz" );
desc101.putBoolean( idClrz, false );
var idHStr = charIDToTypeID( "HStr" );
desc100.putObject( idType, idHStr, desc101 );
var idAdjL = charIDToTypeID( "AdjL" );
desc99.putObject( idUsng, idAdjL, desc100 );
executeAction( idMk, desc99, DialogModes.NO );
}
色相・彩度レイヤーのHSV値を設定
下記URLを参考にしました。
https://www.ps-scripts.com/viewtopic.php?f=66&t=8612
/**
* 選択している色相・彩度レイヤーのHSV値を設定
* hue : 色相
* sat : 彩度
* light : 明度
*/
function changeHueSat(hue, sat, light){
var idsetd = charIDToTypeID( "setd" );
var desc72 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref62 = new ActionReference();
var idAdjL = charIDToTypeID( "AdjL" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref62.putEnumerated( idAdjL, idOrdn, idTrgt );
desc72.putReference( idnull, ref62 );
var idT = charIDToTypeID( "T " );
var desc73 = new ActionDescriptor();
var idClrz = charIDToTypeID( "Clrz" );
desc73.putBoolean( idClrz, true );
var idAdjs = charIDToTypeID( "Adjs" );
var list53 = new ActionList();
var desc74 = new ActionDescriptor();
var idChnl = charIDToTypeID( "Chnl" );
var idChnl = charIDToTypeID( "Chnl" );
var idCmps = charIDToTypeID( "Cmps" );
desc74.putEnumerated( idChnl, idChnl, idCmps );
var idH = charIDToTypeID( "H " );
desc74.putInteger( idH, hue );
var idStrt = charIDToTypeID( "Strt" );
desc74.putInteger( idStrt, sat );
var idLght = charIDToTypeID( "Lght" );
desc74.putInteger( idLght, light );
var idHsttwo = charIDToTypeID( "Hst2" );
list53.putObject( idHsttwo, desc74 );
desc73.putList( idAdjs, list53 );
var idHStr = charIDToTypeID( "HStr" );
desc72.putObject( idT, idHStr, desc73 );
executeAction( idsetd, desc72, DialogModes.NO );
}
Author And Source
この問題について(【Photoshop JSX】色相・彩度レイヤーを追加してHSV値を設定するスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/r-ngtm/items/792b710207f0f9c327d1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .