Skip to main content
Participant
March 14, 2019
Answered

how to use python code to set color management policies RGB "off"

  • March 14, 2019
  • 2 replies
  • 1073 views

Hello, I am trying to use python script to set photoshop cc 2018 Edit->Color settings->Color Management Policies->RGB to "Off"

and Edit->Preferences->Plug-ins->Enable Generator "unchecked"

and then run some other code, when i those processes finished , I also need code to set these two settings back to what they were before.

Is that possible? Thanks very much.

    This topic has been closed for replies.
    Correct answer c.pfaffenbichler

    If you can integrate JS into your proceedings this should work to set the RGB policy to »off«:

    var desc9 = new ActionDescriptor();

    var ref2 = new ActionReference();

    ref2.putProperty( charIDToTypeID( "Prpr" ), stringIDToTypeID( "colorSettings" ) );

    ref2.putEnumerated( charIDToTypeID( "capp" ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );

    desc9.putReference( charIDToTypeID( "null" ), ref2 );

    var desc10 = new ActionDescriptor();

    desc10.putEnumerated( stringIDToTypeID( "policyRGB" ), stringIDToTypeID( "policy" ), charIDToTypeID( "Off " ) );

    desc9.putObject( charIDToTypeID( "T   " ), stringIDToTypeID( "colorSettings" ), desc10 );

    executeAction( charIDToTypeID( "setd" ), desc9, DialogModes.NO );

    One can use ScriptingListener.plugin to record the JS-code for many Photoshop operations.

    2 replies

    c.pfaffenbichler
    Community Expert
    c.pfaffenbichlerCommunity ExpertCorrect answer
    Community Expert
    March 16, 2019

    If you can integrate JS into your proceedings this should work to set the RGB policy to »off«:

    var desc9 = new ActionDescriptor();

    var ref2 = new ActionReference();

    ref2.putProperty( charIDToTypeID( "Prpr" ), stringIDToTypeID( "colorSettings" ) );

    ref2.putEnumerated( charIDToTypeID( "capp" ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );

    desc9.putReference( charIDToTypeID( "null" ), ref2 );

    var desc10 = new ActionDescriptor();

    desc10.putEnumerated( stringIDToTypeID( "policyRGB" ), stringIDToTypeID( "policy" ), charIDToTypeID( "Off " ) );

    desc9.putObject( charIDToTypeID( "T   " ), stringIDToTypeID( "colorSettings" ), desc10 );

    executeAction( charIDToTypeID( "setd" ), desc9, DialogModes.NO );

    One can use ScriptingListener.plugin to record the JS-code for many Photoshop operations.

    dgiadgiaAuthor
    Participant
    March 16, 2019

    Thank you very much. It works .

    Legend
    March 14, 2019

    Photoshop scripting information is here: Adobe Photoshop Scripting

    Supported external scripting languages are AppleScript and VBScript. Perhaps Python can work in the required Apple Event/COM environment.