¿Puede una acción o secuencia de comandos de Photoshop cargar/guardar una muestra y elegir el color de ella?

Me preguntaba si es posible que una acción de Photoshop elija el color de fondo o de primer plano de la muestra. Intenté hacerlo, pero en lugar de elegir una muestra, siempre toma un valor fijo. Estoy probando la secuencia de comandos para elegir el color de la muestra de forma secuencial. Por ejemplo, si hay 5 colores en la muestra, debe elegir el 1.º, el 2.º... hasta el 5.º color.

¿Con qué facilidad/frecuencia necesita actualizar los colores que desea recorrer? Dado que parece que obtener una muestra de color es difícil, si no imposible, hice este script como una especie de prueba. . Además, si aún no lo sabía, puede configurar una tecla de acceso directo para iniciar un script.

Respuestas (1)

Debería poder hacer esto en script. Tom Krcha tiene un script que puede adaptar (Agregar un color al panel de muestras en Photoshop usando ExtendScript/JSX):

var red = 255;
var green = 0;
var blue = 0;
var name = "Red";

var addColorDescriptor = new ActionDescriptor();
// Get reference to Swatches panel
var swatchesPanelReference = new ActionReference();
swatchesPanelReference.putClass(stringIDToTypeID('colors'));
addColorDescriptor.putReference(stringIDToTypeID('null'), swatchesPanelReference);
// Setup a swatch and give it a name
var descriptorSwatch = new ActionDescriptor();
descriptorSwatch.putString( stringIDToTypeID('name'), name);
// Add RGB color information to the swatch
var descriptorColor = new ActionDescriptor();
descriptorColor.putDouble(stringIDToTypeID('red'), red);
descriptorColor.putDouble(stringIDToTypeID('grain'), green); // grain = green
descriptorColor.putDouble(stringIDToTypeID('blue'), blue);
// Add RGB to the swatch
descriptorSwatch.putObject( stringIDToTypeID('color'), stringIDToTypeID('RGBColor'), descriptorColor);
// Add swatch to the color descriptor
addColorDescriptor.putObject( stringIDToTypeID('using'), stringIDToTypeID('colors'), descriptorSwatch);
// Send to Photoshop
executeAction( stringIDToTypeID('make'), addColorDescriptor, DialogModes.NO);

referencia: http://tomkrcha.com/?p=3890

Muchas gracias ! ¿Cómo puedo elegir el color de la muestra usando el script?
@SM La secuencia de comandos: "Agregar un color al panel de muestras en Photoshop". Estoy bastante seguro de que KJP se refirió a este guión como un punto de partida. No es una solución directa, ya que hace lo contrario de lo que quieres. Aunque, tengo que preguntar. Digamos que tienes 10 muestras. ¿Cómo planeaste elegir qué muestra usar?
@Joonas. Gracias por su respuesta. Lo que realmente estoy tratando de lograr es elegir colores como primer plano secuencialmente. Digamos que tengo 10 colores en muestras. Estoy tratando de escoger el 1°, 2°, 3°... hasta el 10°. Hay alguna manera ?
@SM Quiere decir como: presione una tecla de acceso rápido una vez: Swatch # 1 se selecciona como color de primer plano, presione una tecla de acceso rápido por segunda vez: Swatch # 2 se selecciona como color de primer plano ... etc.
@Joonas Sí. Como un bucle. Elegirá la muestra n.º 1, realizará una operación y elegirá la muestra n.º 2... y continuará hasta que haya elegido todos los colores de las muestras.
@SM Según algunas búsquedas en Google, parece que elegir un color del panel de muestras no es tan fácil como con Indesign o Illustrator. Estaba bastante seguro de que podría hacer eso, pero mirando el código que Script Listener saca cuando elige un color de las muestras, no creo que sea posible. El oyente de secuencias de comandos no hace Me gusta pick a color from swatch 3o algo así. En realidad, solo selecciona valores rgb estáticos, como lo haría al usar el selector de color en cualquier cosa. Podría estar equivocado. Al menos yo no sé cómo hacerlo.
Basado en algunas búsquedas en Google, sugeriría mirar los scripts disponibles en la biblioteca xtools de xbytor: sourceforge.net/projects/ps-scripts/files/xtools/v2.2betas particularmente el script ColorSwatches. Podría ayudar. Buena suerte.
Mis sentimientos sobre esto en este momento son que sería más fácil hacer una extensión de reemplazo para muestras para este propósito :)=
@Joonas - Estoy de acuerdo :)