¿Cómo configuro la configuración del cuentagotas con Photoshop ExtendScript (Javascript)?

¿Hay alguna manera de establecer la configuración del cuentagotas de Photoshop ( tamaño de muestra, muestra, mostrar anillo de muestra ) en un script? ¿O, en su defecto, usar el script para averiguar cuáles son las configuraciones actuales? Gracias.

Ajustes de cuentagotas en photoshop

Respuestas (2)

Basado en algunas búsquedas en Google, seguro que no parece que sea directamente posible. Sin embargo, puede usar el administrador de acciones/escucha de secuencias de comandos para cambiar el ajuste preestablecido de la herramienta.

Entonces... tal vez podría hacer una herramienta preestablecida para cada tamaño de muestra que necesite y cambiar la herramienta preestablecida en su lugar.

Este método tiene algunos inconvenientes importantes:

  • Una desventaja es que guarda todas las configuraciones de herramientas para el cuentagotas, por lo que si también necesita configuraciones de capa de muestra diferentes, deberá crear aún más ajustes preestablecidos...
  • Sin mencionar que el archivo de ajustes preestablecidos de la herramienta .tpltendría que viajar con el script, o tendría problemas en el futuro.
  • Un pequeño inconveniente es que, a menos que su lista de herramientas predeterminadas muestre configuraciones predeterminadas para todas las herramientas, lo que probablemente no es así o no puede suponer que lo es, puede seleccionar una configuración predeterminada solo si primero se selecciona la herramienta correcta.

Aquí hay un código que selecciona la herramienta cuentagotas y activa un ajuste preestablecido que nombré 3 by 3 Average (All Layers).

selectTool("eyedropperTool");
selectToolPreset("3 by 3 Average (All Layers)");

function cTID(s) { return app.charIDToTypeID(s); };
function sTID(s) { return app.stringIDToTypeID(s); };

function selectTool( toolName ) {

  var desc78 = new ActionDescriptor();
    var ref38 = new ActionReference();
    ref38.putClass( sTID( toolName ) );
  desc78.putReference( cTID('null'), ref38 );
  desc78.putBoolean( sTID('dontRecord'), true );
  desc78.putBoolean( sTID('forceNotify'), true );
  executeAction( cTID('slct'), desc78, DialogModes.NO );

};

function selectToolPreset( toolPresetName ) {

  var desc75 = new ActionDescriptor();
    var ref36 = new ActionReference();
    ref36.putName( sTID('toolPreset'), toolPresetName );
  desc75.putReference( cTID('null'), ref36 );
  executeAction( cTID('slct'), desc75, DialogModes.NO );

};

Usé el script Xtools : LastLogEntry.jsxpara obtener la última entrada de Scripting Listener y limpiarla un poco.

Para obtener una configuración actual de un cuentagotas (cambie primero a cuentagotas usando Joonas' selectTool()):

//returns 0 for Point Sample, 1 for 3x3, etc
function getCurrentEyedropperSetting() {
    var ref = new ActionReference();
    ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("tool"));
    ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
    return executeActionGet(ref).getObjectValue(stringIDToTypeID("currentToolOptions")).getInteger(stringIDToTypeID("eyeDropperSample"));
};