Está en la página 1de 10

Scripting Photoshop, Parte 1 - Introduccin

Si se trata de automatizar las tediosas tareas, personalizar los comandos, o la adicin de nuevas caractersticas, secuencias de comandos hace que casi cualquier cosa es posible en Adobe Photoshop.

La capacidad de escritura de Photoshop debut en la versin de siete como un plug-in opcional que puede ser descargado desde el sitio Web de Adobe . Desde la versin de ocho ( CS), el plugin scripting se instala por defecto. Ahora, en la versin de diez ( CS3 ), secuencias de comandos del backend de Photoshop es ms accesible y poderosa de lo que nunca ha sido. Sin embargo, a pesar de lo largo de secuencias de comandos ha sido parte de Photoshop, es sorprendente cmo algunas personas se aprovechan de ella - y an ms sorprendente, es el nmero de personas que ni siquiera son conscientes de que Photoshop puede ser un guin.

La ventaja de Scripting
Entonces, qu hay de bueno en secuencias de comandos, y lo que pueden hacer los guiones que no se puede lograr con acciones tradicionales? Pues bien, mientras que las acciones (incluyendo lotes y gotas) son tremendamente potentes y flexibles, tienen muchas limitaciones que los scripts no. Consideremos, por ejemplo, algo tan simple como alternar la visibilidad de la capa actual (es decir, convirtiendo una capa de apagado si que la tiene, y viceversa).Usted puede grabar fcilmente una accin para convertir la capa en, o fuera, pero no se puede crear una accin que cambia la visibilidad. El problema es que las acciones no tienen la capacidad de toma de decisiones, o "lgica condicional". Las acciones son tambin limitados para ejecutar comandos en la aplicacin alojada, mientras que los scripts pueden comunicarse e intercambiar informacin con cualquiera (o todas) de las aplicaciones de la Creative Suite. Por ejemplo, podra escribir un script que inicia un procedimiento en Adobe Illustrator CS3 y luego enva los resultados a Adobe Photoshop CS3 para su conclusin. Ahora eso es muy cool! Algunas aplicaciones de Creative Suite, incluso le permiten utilizar secuencias de comandos para personalizar la interfaz de usuario, y crear comandos y paneles personalizados.

Instalacin de Scripts
Instalacin de scripts es muy parecida a la instalacin de cualquier otro preset. En primer lugar, copie el script en los Presets / Scripts subcarpeta: Mac: <disco drive> / Aplicaciones / Adobe Photoshop CS2/Presets/Scripts / PC: C: \ Archivos de programa \ Adobe \ Adobe Photoshop CS2 \ Presets \

Scripts \
Entonces, despus de salir y reiniciar Photoshop, los guiones recin instalados aparecern automticamente en el archivo Scripts submen (en orden alfabtico). Observe que tambin puede crear subcarpetas dentro de los Presets / Scriptscarpeta. Esto es til si usted tiene un montn de guiones, o si quiere mantener sus propios scripts separados de los que adquiera de un tercero. Para ejecutar un script, slo tiene que seleccionar por nombre del archivo Scriptssubmen o seleccione Archivo Scripts Buscar para localizar y ejecutar secuencias de comandos que no aparecen en el Scripts men. Consejo: Scripts y / o carpetas de secuencias de comandos se puede desactivar (es decir, oculto a Photoshop) anteponiendo sus nombres con una tilde (por ejemplo, "~ minusvlidosScript.jsx").

Scripts dentro de las acciones


Adicin de una secuencia de comandos de una accin es el mismo que agregar cualquier otro comando para una accin: slo tiene que seleccionar la secuencia de comandos (desde el Archivo Scripts del men), mientras que en el modo de grabacin y el guin se insertar como un paso en la accin. Como alternativa, puede agregar una secuencia de comandos de una accin (ya sea en modo de grabacin o no) mediante el uso del panel de Accin Insertar elemento de men de comandos: 1. Seleccione el paso de accin que aparece ms arriba en la que desea que el script se inserta. 2. Elija Insertar elemento de men de la Acciones men del panel ( ).

3. Cuando el cuadro de dilogo Insertar elemento de men aparece, seleccioneArchivos Scripts Archivo de comandos de los mens de la aplicacin.

4. Despus de pulsar el Aceptar botn, se aade el guin seleccionado para la accin (por debajo del paso seleccionado anteriormente). Ahora, cuando usted juega la accin , la secuencia insertada se ejecutar como parte de la secuencia de comandos. Nota: Los scripts dentro de las acciones se hace referencia a la ruta de acceso absoluta (es decir, la ruta de acceso completa a la secuencia de comandos en el equipo local). Esto significa que si usted desea compartir sus acciones con otras personas, deben instalar el script en la misma ubicacin en su equipo para que la accin para que funcione correctamente. Alternativamente, podran simplemente volver a grabar o volver a insertar la secuencia de comandos en la accin.

Los scripts basados en eventos


Scripts (y acciones), tambin se pueden ejecutar de forma automtica, en base a un evento, como por ejemplo en el arranque, abrir un documento, o la creacin de un nuevo documento. Este tipo de secuencias de comandos son llamados "scripts basados en eventos". Para definir una secuencia de comandos basada en eventos, elija Archivo Scripts Guin de Eventos . Una vez que aparezca el cuadro de dilogo Administrador de Eventos Guin: 1. Encienda los eventos permiten ejecutar scripts / Acciones casilla. 2. Elija un evento del evento Photoshop desplegable. 3. Haga clic en el script botn. 4. Seleccionar la secuencia de comandos deseado de la secuencia de comandosdesplegable (o seleccione Examinar desde la parte inferior de la lista desplegable). 5. Pulse el Agregar botn para aadir el evento a la lista de eventos . 6. Por ltimo, pulse el Hecho botn para aplicar los cambios y activar el evento.

Para eliminar un evento, seleccinelo por su nombre en la lista de eventos y pulseEliminar botn - o usar el All Quite botn para eliminar todos los eventos de la lista de eventos . Para desactivar todos los eventos sin eliminarlos, simplemente apague Activar eventos para ejecutar scripts / acciones . Una vez ms, hay que pulsar el Hechobotn para aplicar los cambios. Consejo: Saba usted que la Agenda Script Manager ( Archivo Scripts escritura de Eventos ) es en s mismo un guin? Eso es! El cuadro de dilogo se utiliza para administrar secuencias de comandos basados en eventos (y acciones) es en realidad escrito en JavaScript. El procesador de imagen ( Archivo Scripts Procesador de imagen ) es otro ejemplo de un comando en Photoshop que est completamente escrito en JavaScript. Ambos de estos scripts se encuentran en la raz de los Presets / Scripts carpeta, y sirven como buenos ejemplos de lo que puede ser logrado con scripting. Slo tenga cuidado de no modificar los guiones originales - por lo menos no sin antes hacer una copia de seguridad.

El kit de herramientas ExtendScript


Independientemente de si se instala una aplicacin CS3 nica o toda la Creative Suite, otras dos aplicaciones se instalan por defecto: Adobe Bridge y el kit de herramientas ExtendScript. Adobe Bridge es un espectador / organizador flexible y potente y sirve como un centro para todas las aplicaciones de Creative Suite. Tenga en cuenta que Bridge tambin se puede utilizar para seleccionar los archivos e iniciar comandos de secuencia de comandos basados en suiteancho. Varias secuencias de comandos estn disponibles por defecto en

Bridge Herramientas men, dependiendo de cul de las aplicaciones de Creative Suite que ha instalado (por ejemplo, Herramientas Photoshop Procesador de imgenes ). El kit de herramientas ExtendScript sirve como un desarrollo completo y entorno de pruebas para ExtendScript en todas las aplicaciones de CS3. El kit de herramientas incluye caractersticas tales como resaltado de sintaxis, deshacer / rehacer, soporte Unicode mltiples, y mucho ms. ExtendScript es la implementacin extendida de JavaScript, que ofrece todas las caractersticas estndar de JavaScript, en adicional de Adobe:

archivo independiente de la plataforma y la representacin carpeta (lo que significa que los scripts escritos en un Mac trabajarn en una mquina basada en Windows sin excepciones); herramientas para crear interfaces de usuario basadas en scripts localizados extensibles; la comunicacin entre aplicaciones, y mucho ms.

Para obtener una visin completa de ExtendScript y ExtendScript Toolkit, consulte el Captulo 9 de la Gua de referencia de JavaScript . Consejo: La ltima versin de ExtendScript Toolkit est disponible como descarga gratuita en el Centro de desarrolladores de Adobe puente .

Documentos de referencia
Para una comprensin ms completa de scripting, o para aprender a crear sus propios scripts, echa un vistazo a los muchos recursos valiosos instalados de forma predeterminada en la siguiente ubicacin: Mac: <disco drive> / Aplicaciones / Adobe Photoshop CS2/Scripting Gua / PC: C: \ Archivos de programa \ Adobe \ Adobe Photoshop CS2 \ Gua

Scripting \
Photoshop Scripting Guide - una introduccin a Photoshop CS3 scripting (incluye varios scripts de ejemplo) AppleScript Gua de Referencia - describe las CS3 objetos y comandos AppleScript Photoshop JavaScript Gua de Referencia - describe las CS3 objetos y comandos de JavaScript Photoshop VisualBasic Gua de Referencia - describe las CS3 objetos y comandos VBScript Photoshop Scripts Muestras - contiene docenas de scripts de ejemplo escritos en AppleScript, JavaScript y VBScript (ver Scripts Descripcin Muestra el documento para una descripcin de cada secuencia de comandos)

Carpeta Utilidades - contiene el plugin ScriptListener. (Para obtener ms informacin sobre el plugin ScriptListener, consulte el Captulo 3 de la Gua de referencia de JavaScript o VBScript Gua de Referencia .)

Consejo: La Scripting y guas de referencia tambin estn disponibles en formato electrnico ( PDF ) de AdobePhotoshop Developer Center . Usted puede incluso comprar un libro impreso de la Gua de Photoshop Scripting deAmazon.com (aunque es actualmente slo est disponible para Photoshop CS2).

Scripting Photoshop, Parte 2 - Un ejemplo prctico

En la parte 1 de este tutorial de dos partes acerca de los scripts de Photoshop, hemos cubierto algunos de los aspectos bsicos de la utilizacin de scripts, as como los numerosos recursos disponibles. En esta segunda parte, vamos a crear un script prctico, en el mundo real desde el principio. Como se mencion en la Introduccin a Photoshop Scripting , alternar la visibilidad de una capa (dentro y fuera) es un ejemplo de la lgica condicional, algo por lo que es ideal para scripting. Por lo tanto, vamos a ver cmo escribir un guin desde cero. Para este proyecto vamos a utilizar JavaScript, ya que es el nico lenguaje de programacin multi-plataforma de apoyo de la Creative Suite, sin embargo, podra escribir la misma facilidad un guin similar utilizando AppleScript en Mac o VBScript para PC.

Consejo: Aunque se pueden escribir scripts de Photoshop utilizando JavaScript, AppleScript o VisualBasic Script, JavaScript tiene dos ventajas: es independiente de la plataforma (es decir, que funciona tanto en Mac y PC), y muchos diseadores web que ya estn familiarizados con ella. Consejo: Cul es la diferencia entre un un archivo "js." y "jsx."?Fundamentalmente, nada, sino que son dos archivos JavaScript / scripts. Sin embargo, si se hace doble clic en un archivo. "Js" en el Finder de Apple o el Explorador de Windows, lo ms probable es abrir en su navegador (y mostrar un dilogo de error). Pero si usted tiene cualquiera de las aplicaciones instaladas CS3 ". Jsx" archivos se asocia con ExtendScript Toolkit. (Para obtener ms informacin acerca de ExtendScript Toolkit, consulte el captulo 9 de la Gua de referencia de JavaScript .)

JavaScript Jerga
Antes de comenzar, se requiere una visin general de la terminologa comn. Todo en Photoshop se representa como un "objeto" (por ejemplo, ArtLayer , Canal ), y cada objeto es parte de una serie llamada "coleccin" (por ejemplo, ArtLayers ,Canales ). La jerarqua de estos objetos y colecciones comprende el Document Object Model ( DOM ). Los objetos han asociado "propiedades", que describen sus caractersticas (por ejemplo, nombre , opacidad ), "mtodos", que definen las acciones que puede tomar contra ellos (por ejemplo, copy () , resize () ), y "eventos", que describir las acciones que se producen en respuesta a otras acciones (por ejemplo, onClick () , onChange () ). Otros trminos incluyen la definicin de un valor de variables y matrices. Las variables se utilizan para el almacenamiento temporal, y pueden representar objetos o datos, tales como cadenas (texto), nmeros, booleanos (true / false) y arrays. Los arrays son variables que contienen varios valores del mismo tipo. Por ejemplo, una matriz de enteros podra contener los valores 1, 3, 7, 15, y 23 (todos dentro de la misma variable). Tambin tenga en cuenta que JavaScript distingue entre maysculas y minsculas, lo que significa que las palabras con diferentes casos se consideran diferentes, aunque el que estn escritas las mismas (por ejemplo, "JavaScript" vs "Javascript"). Para aprender ms sobre lo bsico de secuencias de comandos, consulte el Captulo 2 de la Gua de Photoshop Scripting .

Consejo: La Scripting y guas de referencia se encuentran en la carpeta "Adobe Photoshop CS3" instalacin, en la "Gua Scripting" subcarpeta. Los documentos tambin estn disponibles en formato electrnico ( PDF ) de Adobe del Centro de Desarrollo de Photoshop . Usted puede incluso comprar un libro impreso de la Gua de Photoshop Scripting deAmazon.com (aunque actualmente slo est disponible para Photoshop CS2).

Scripting From Scratch


Con el fin de escribir guiones, tendr un entorno de edicin. Cualquier editor de scripts / texto funciona - incluso TextEdit Mac o Windows Notepad - pero yo recomiendo de Adobe ExtendScript Toolkit ( ESTK ). Mientras ESTK puede no ser tan sofisticado o rica en caractersticas como algunos otros editores, su capacidad de dirigirse a las aplicaciones especficas de Creative Suite para la reproduccin y la depuracin lo hace muy conveniente.

Comenzaremos creando una variable para guardar nuestro documento de referencia.La forma ms sencilla de apuntar el documento activo es utilizar el ActiveDocumentpropiedad de la solicitud objeto (JavaScript Scripting Reference, pgina 45), por lo que vamos a asignar a una variable de la siguiente manera:

var docRef = ActiveDocument;


Del mismo modo, crearemos una variable de referencia para la capa activa, utilizando el ActiveLayer propiedad del objeto de documento (JavaScript Scripting Reference, pgina 89):

var layerRef = docRef.activeLayer;


A partir de ahora, podemos hacer referencia al documento activo y la capa activa simplemente como docRef y layerRef , respectivamente. Para cambiar la visibilidad de la capa activa, tendremos que buscar la propiedad de capa correspondiente a la artLayer objeto. En este caso es la visible propiedad (JavaScript Scripting Reference, pgina 54). Por lo tanto, la siguiente lnea se vera as:

layerRef.visible = layerRef.visible!;

El signo de exclamacin anterior es JavaScript notacin por "no". As que, ms o menos traducido, la lnea anterior significa: hacer de la visibilidad de la capa activa igual a lo que la visibilidad afirmar en este momento no es - o, ms sencillamente, que la visibilidad lo contrario de su estado actual. En este punto usted debera ser capaz de ejecutar el script. Primero elige "Adobe Photoshop CS3" de la aplicacin de destino desplegable en la parte superior izquierda, y luego presione el juego botn ( ) en la barra de herramientas ESTK.Como alternativa, puede ejecutar la secuencia de comandos a travs del Archivo Scripts men en Photoshop (aunque es posible que tenga que reiniciar Photoshop para el script que aparezca). Tenga en cuenta que usted necesitar por lo menos un documento abierto - una con uno menos, no Background capa - de lo contrario obtendr un error de script (que vamos a arreglar en breve). Ejecute la secuencia de un par de veces, y en diferentes capas, para asegurarse de que est funcionando correctamente.

Manejo de Errores
Muy bien, ahora es el momento de aadir un poco de control de errores - Cdigo que se encargar de usos incorrectos del script. En primer lugar vamos a abordar la situacin en la que no hay ningn documento actual utilizando una simple condicional si la declaracin (Scripting Guide, pgina 40). La sintaxis general para un caso dedeclaracin es:

if ( condicin ) { accin1 } else { action2 };


Photoshop documentos se almacenan en la documentacin recogida en forma de matriz, y en JavaScript, el nmero de elementos de la matriz se determina por lalongitud de la propiedad (JavaScript Scripting Reference, pgina 102). Por lo tanto, para la prueba de un documento abierto, el caso de declaracin sera el siguiente:

if (documents.length == 0) { accin1 } else { action2 };


Tenga en cuenta el signo igual doble, que es un operador de igualdad (frente a un solo signo igual, que se utiliza para asignar valores). Dse puntos de bonificacin si se reconoce que la declaracin anterior tambin se podra haber escrito como if (! documents.length) . Para accin1 , notificaremos al usuario de que no hay documentos abiertos utilizando una alerta (Core Classes JavaScript: Elementos globales), que es slo un mensaje de dilogo sencillo con un botn Aceptar en l. Adems, vamos a poner el resto de la secuencia de comandos en accin 2 :

Ejecute la secuencia de comandos con y sin un documento (multicapa) abrir en Photoshop para comprobar los resultados. Por ltimo, dado que el fondo de la capa de un documento aplanado no se puede esconder, tenemos que escribir una ms si la declaracin - anidado dentro del existente dems declaracin - que las pruebas de los documentos que contienen slo un nico fondo de capa. Haremos esto mediante el uso de la IsBackgroundpropiedad del artLayer objeto (JavaScript Scripting Reference, pgina 53).

if (docRef.layers.length == 1 && layerRef.isBackgroundLayer == true)


As que esta vez estamos probando los niveles de recogida de una sola capa y de la comprobacin para ver si se trata de un fondo de capa. El doble ampersand es unaY operador, lo que significa que ambas condiciones se han de cumplir, de lo contrario, la secuencia de comandos procede a la otra declaracin.

Los resultados finales


Eso es todo, ya est! Guardar la secuencia de comandos en los Presets / Scripts carpeta. Esto es lo que el guin final debe ser similar a:

Mientras scripting puede tomar mucho tiempo para dominar, la flexibilidad que ofrece, te hace bien vale la pena el tiempo invertido - especialmente si el flujo de trabajo implica una gran cantidad de tareas repetitivas que no se pueden automatizar usando las acciones tradicionales y el procesamiento por lotes. Consejo: Para mayor comodidad, utilice Editar Atajos de teclado ( Comando / Ctrl + Opt / Alt + Shift + K ) para asignar accesos directos a sus scripts.Tambin tenga en cuenta que los scripts pueden ser grabadas como parte de una accin, o incluso llamar desde otro script.