2011-04-26 33 views
15

me gustaría Photoshop para ejecutar automáticamente la siguiente tarea para una carpeta determinada:¿De acciones de Photoshop a scripts de Photoshop?

  1. carga todos los archivos PNG en una carpeta determinada.
  2. Convertir el modo de cada archivo para RGB color
  3. Añadir una capa a cada archivo
  4. Guardar los archivos como PSD en la misma carpeta

Me han dicho que esto se puede hacer con Photoshop scripting, pero No sé cómo comenzar, porque desafortunadamente no tengo mucha experiencia con JavaScript.

Una cosa que sé es que no puedo ejecutar la tarea anterior usando Actions porque cuando grabo el último paso (4), Photoshop graba la acción para guardar los archivos PSD en la carpeta que uso cuando grabo la macro (en lugar del utilizado para cargar los archivos PNG originales). En otras palabras, corrige la carpeta de destino a la utilizada en la macro.

Esto me lleva a la siguiente pregunta: ¿Hay alguna forma de generar automáticamente el código JavaScript de Photoshop que ejecuta una acción determinada?

Si es así, no me importaría aprender a modificar la secuencia de comandos para solucionar el problema de la carpeta anterior.

Respuesta

13

Hice un script que hace el trabajo requerido:

#target photoshop 
#strict on 

runthis(); 
function runthis() 
{ 
    var path = "/d/PhotoshopScript/Images/"; 

    var inputFolder = new Folder(path); 
    var inputFiles = inputFolder.getFiles("*.png"); 

    for(index in inputFiles) 
    { 
     // open the file 
     var fileToOpen = new File(inputFiles[index]); 
     open(fileToOpen); 

     // Change mode to rgb 
     activeDocument.changeMode(ChangeMode.RGB); 
     // add a new layer 
     activeDocument.artLayers.add(); 

     //save 
     var psdOptions = new PhotoshopSaveOptions(); 
     psdOptions.alphaChannels = true; 
     psdOptions.annotations = false; 
     psdOptions.embedColorProfile = false; 
     psdOptions.layers = true; 
     psdOptions.spotColors = false; 

     var file = new File(path + GetFileName(String(inputFiles[index]))); 
     activeDocument.saveAs(file, psdOptions); 

     activeDocument.close(); 

     // dispose 
     fileToOpen = null; 
     psdOptions = null; 
     file = null; 
    } 
    // dispose 
    inputFolder = null; 
    inputFiles = null; 

} 

function GetFileName(fullPath) 
{ 
    var m = fullPath.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/); 
    return m[2]; 
} 

Se puede mejorar en muchos aspectos, pero espero que ayude.

3

busque el archivo SaveAsDifferentFileType.jsx en su computadora, creo que podría usar esto como punto de partida.

Ahora hay forma de saber de generar este código automáticamente. Creo que no hay forma en torno al aprendizaje como funciona:

Aquí la documentación: http://www.adobe.com/devnet/photoshop/scripting.html Y aquí un tutorial que le dirá dónde empezar: http://morris-photographics.com/photoshop/tutorials/scripting1.html

Si está utilizando un MAC podría intentar las acciones de Automator Photoshop: http://www.completedigitalphotography.com/?p=339

Le permitirán hacer lo que quiera, sin ningún conocimiento de programación.

16

Déjeme responder la pregunta que realmente hizo en negrita: Hay una herramienta que genera automáticamente el Javascript para las acciones y eventos que están teniendo lugar en Photoshop. Se llama Script Listener. Después de usar el oyente del script para registrar sus acciones, revise el registro y realice sus ediciones selectivas.

Para comenzar a utilizar la secuencia de comandos Listener

  1. Cerrar Photoshop
  2. Copia la ScriptListener.8li archivo del C: \ Archivos de programa \ Adobe \ Adobe Photoshop CS5 \ Scripting \ Utilidades carpeta
  3. Pega el archivo a la C: \ Program Files \ Adobe \ Adobe Photoshop CS5 \ Plug -ins \ Automatizar la carpeta.
  4. Ejecute Photoshop, realice las acciones que desee que suceda en su secuencia de comandos.
  5. Cierre Photoshop, elimine la copia del oyente de script de la carpeta Automatizar.
  6. Edite el archivo de registro que el oyente de script coloca en su escritorio.

para obtener su nuevo guión tan de moda en Photoshop lugar el archivo que ha creado con una extensión JSX en C: \ Archivos de programa \ Adobe \ Adobe Photoshop CS5 \ Presets \ Scripts.

Lynda.com tiene un excelente curso sobre el uso de secuencias de comandos y el oyente de scripts. Sin embargo, es un sitio basado en membresía y no es gratuito ($ 25- $ 35 mes).

+0

¿Puede usted por favor publicar una muestra del archivo de registro que se genera mediante este procedimiento ? – skibulk

+1

Algún día daré un proceso actualizado para CS6. Ya no tiene que eliminar el script. Hay un ScriptListenerOn y un script ScriptListenerOff ahora. En cuanto a un registro de muestra, sería muy detallado. Lo que sigue es el script para simplemente abrir y cerrar un jpeg.
var idOpn = charIDToTypeID ("Opn"); var desc1 = new ActionDescriptor(); var idnull = charIDToTypeID ("nulo"); desc1.putPath (idnull, nuevo archivo ("C: \ Users \ Kevin \ Pictures \ 11732.jpg")); executeAction (idOpn, desc1, DialogModes.NO); –

5

Me doy cuenta de que esta es una vieja pregunta, pero lo que la publicación original está pidiendo se puede hacer completamente en una acción de Photoshop. Las acciones de Photoshop son fáciles de registrar: solo tiene que presionar grabar y realizar los pasos manualmente. - incluyendo el paso Abrir, operaciones y guardar.

El único truco que queda es hacer que la acción se ejecute en una carpeta específica en lugar del lugar donde se graba la acción. Eso es fácil, sin embargo. Utilice las opciones "Anular Abrir" y "Anular Guardar". Se invoca esta acción mediante Archivo -> Automatizar -> Lote o desde Adobe Bridge utilizando Herramientas -> Photoshop -> Acción

ver esto por ejemplo:

enter image description here

Para algunos consejos adicionales look here

2

Para actualizar la respuesta de Kevin, ScriptListener está escondida en un lugar diferente:

http://www.adobe.com/devnet/photoshop/scripting.html

dentro de "Scripting Listener Plug-in". El directorio de plugins de Windows también ha cambiado, por lo general:

C: \ Archivos de programa \ Archivos comunes \ Adobe \ Plug-Ins \ CC

Cuestiones relacionadas