- Сообщения
- 5 500
- Реакции
- 2 169
Такая проблема - нужно делать выделение color range по определенному цвету.
Код из Scripting Listener (пример):
легко убедиться, что режим Sampled Colors кодом не включается, остается тот, что вызывался до этого - например Shadows.
Характерно, что все остальные режимы в ScriptingListener записывают свое включение:
как бы это побороть в случае Sampled color?
константы для него в sdk не нашел, да видимо ее и нет. В экшен пишется с тем же эффектом
пробовал сохранить настройки в файл через save, затем вызывать их перед вызовом кода, исключительно чтобы переключить режим color range - но все равно остается выбранный пользователем до того режим.
загруженные установки применяются нормально, в принципе, можно разобрать файл установок (.axt) и каждый раз его создавать и загружать. Но может кто знает путь попроще?
Код из Scripting Listener (пример):
Код:
var idClrR = charIDToTypeID( "ClrR" );
var desc38 = new ActionDescriptor();
var idFzns = charIDToTypeID( "Fzns" );
desc38.putInteger( idFzns, 132 );
var idMnm = charIDToTypeID( "Mnm " );
var desc39 = new ActionDescriptor();
var idLmnc = charIDToTypeID( "Lmnc" );
desc39.putDouble( idLmnc, 81.030000 );
var idA = charIDToTypeID( "A " );
desc39.putDouble( idA, -1.280000 );
var idB = charIDToTypeID( "B " );
desc39.putDouble( idB, -1.010000 );
var idLbCl = charIDToTypeID( "LbCl" );
desc38.putObject( idMnm, idLbCl, desc39 );
var idMxm = charIDToTypeID( "Mxm " );
var desc40 = new ActionDescriptor();
var idLmnc = charIDToTypeID( "Lmnc" );
desc40.putDouble( idLmnc, 81.030000 );
var idA = charIDToTypeID( "A " );
desc40.putDouble( idA, -1.280000 );
var idB = charIDToTypeID( "B " );
desc40.putDouble( idB, -1.010000 );
var idLbCl = charIDToTypeID( "LbCl" );
desc38.putObject( idMxm, idLbCl, desc40 );
var idcolorModel = stringIDToTypeID( "colorModel" );
desc38.putInteger( idcolorModel, 0 );
executeAction( idClrR, desc38, DialogModes.ALL );
легко убедиться, что режим Sampled Colors кодом не включается, остается тот, что вызывался до этого - например Shadows.
Характерно, что все остальные режимы в ScriptingListener записывают свое включение:
Код:
var idClrR = charIDToTypeID( "ClrR" );
var desc160 = new ActionDescriptor();
var idClrs = charIDToTypeID( "Clrs" );
var idClrs = charIDToTypeID( "Clrs" );
var idShdw = charIDToTypeID( "Shdw" );
desc160.putEnumerated( idClrs, idClrs, idShdw );
var idshadowsFuzziness = stringIDToTypeID( "shadowsFuzziness" );
desc160.putInteger( idshadowsFuzziness, 20 );
var idshadowsUpperLimit = stringIDToTypeID( "shadowsUpperLimit" );
desc160.putInteger( idshadowsUpperLimit, 65 );
var idcolorModel = stringIDToTypeID( "colorModel" );
desc160.putInteger( idcolorModel, 0 );
executeAction( idClrR, desc160, DialogModes.NO );
как бы это побороть в случае Sampled color?
константы для него в sdk не нашел, да видимо ее и нет. В экшен пишется с тем же эффектом
пробовал сохранить настройки в файл через save, затем вызывать их перед вызовом кода, исключительно чтобы переключить режим color range - но все равно остается выбранный пользователем до того режим.
загруженные установки применяются нормально, в принципе, можно разобрать файл установок (.axt) и каждый раз его создавать и загружать. Но может кто знает путь попроще?
Последнее редактирование: