command-line imagemagick photoshop psd

command line - ¿Cómo crear un archivo PSD en capas desde la línea de comandos?



command-line imagemagick (6)

Aquí hay algunos enlaces útiles para usted:

El segundo enlace es para usar con PHP , pero ejecuta ImageMagick, solo usa los comandos, no la sintaxis de PHP , solo la línea del código de ejecución .

Espero que te esté ayudando!

Necesito crear un archivo PSD en capas con ImageMagick o cualquier otra herramienta de línea de comandos disponible en la plataforma Linux. Como necesito hacer esto en un servidor Linux, no puedo usar scripts de Photoshop.

El comando ImageMagick a continuación crea un archivo PSD con una sola capa, donde dos imágenes (aquí: fractales de plasma) se colocan una debajo de otra. (Uso ImageMagick 6.5.3-10 2009-07-31 Q16, último disponible en MacPorts).

convert -size 100x100 plasma:fractal plasma:fractal -append out.psd

¿Cómo creo un archivo PSD donde cada imagen está en su propia capa, y una capa está directamente encima de otra?

O, ¿hay alguna otra herramienta de línea de comandos que me permita hacer esto?

Actualización: ¿ Alguna otra opción que no sea la línea de comando de GIMP?


Estoy de acuerdo con Jon Galloway, la consola de gimp es mejor elección. Está mi guión:

(define (pngtopsd width height png-paths psd-path) (define (add-layers image png-paths) (if (null? png-paths) 0 (let* ((png (car png-paths)) (new-layer (car (gimp-file-load-layer 0 image (car png))))) (gimp-image-insert-layer image new-layer 0 -1) (gimp-item-transform-2d new-layer 0 0 1 1 (cadr png) (caddr png) (cadddr png)) (add-layers image (cdr png-paths)) ) )) (let* ((png (car png-paths)) (image (car (gimp-file-load 1 (car png) (car png)))) (drawable (car (gimp-image-get-active-layer image)))) (gimp-image-resize image width height 0 0) (gimp-item-transform-2d drawable 0 0 1 1 (cadr png) (caddr png) (cadddr png)) (add-layers image (cdr png-paths)) (file-psd-save 0 image drawable psd-path psd-path 1 0) (gimp-image-delete image) ))

Solo necesita poner este script en un archivo con el nombre "pngtopsd.scm" dentro del directorio "script" de gimp ("c: / Program Files / GIMP 2 / share / gimp / 2.0 / scripts /" para windows) y puede crear capas psd de la lista de imágenes png con transformación (traducción o rotación) de cada capa. Muestra de uso:

gimp-console-2.8.exe -i -b "(pngtopsd (list (list /"c:/../1.png/" 0 500 500) (list /"c:/.../2.png/" 0.7 200 1000) (list /"c:/.../3.jpg/" -0.5 1000 0)) /"c:/.../result.psd/")"

allí (lista / "c: /.../ 2.png /" 0.7 200 1000) significa: - 0.7 es el ángulo de rotación de la imagen (en radianes) - 200 1000 es x y y cambio en una imagen


Puede crear un PSD en capas con ImageMagick, pero tenga en cuenta que la primera imagen se utiliza realmente como imagen de vista previa (es decir, compuesto de todas las capas).

convert -size 100x100 plasma:fractal plasma:fractal plasma:fractal out.psd

Creará un PSD de 2 capas.


Puede usar el comando -adjoin para combinar una secuencia de imágenes.

convert -size 100x100 -alpha set plasma:fractal -alpha set plasma:fractal -adjoin out.psd

  • Los canales alfa son necesarios para el codificador PSD.
  • El orden de las imágenes es la capa inferior a la capa superior.
  • Hay muchos problemas de compatibilidad con Photoshop y GIMP según la configuración.

Utilizando:

  • ImageMagick 6.5.4-6
  • Photoshop CS2

Si ImageMagick no funciona, miraría la línea de comandos de Gimp .

Los siguientes comandos crearon un archivo PSD de 2 capas para mí en la consola interactiva:

> (gimp-image-new 200 200 0) (1) > (gimp-layer-new 1 200 200 0 "layer-1" 100 0) (2) > (gimp-layer-new 1 200 200 0 "layer-2" 100 0) (3) > (file-psd-save 0 1 0 "test.psd" "test.psd" 0 0) > (gimp-image-add-layer 1 2 -1) > (gimp-image-add-layer 1 3 -1) > (file-psd-save 0 1 1 "test.psd" "test.psd" 0 0)

Eso necesitaría convertirse en una secuencia de comandos script-fu (archivo .scm) y podría ejecutarse desde la línea de comandos con algo como esto:

gimp -i -b ''(your-script-name "test.psd" 200 200)'' -b ''(gimp-quit 0)''


Yo uso las líneas de comando a continuación. No he encontrado ningún problema al abrir el PSD generado en Photoshop, sin embargo, cada capa aparece como una capa de fondo, y primero debe convertirla en una capa verdadera para editar el orden de las capas.

Aquí está la línea de comando. Dada la lista de imágenes (im1.xxx, im2.xxx, etc., im1 es la capa inferior,) una lista de etiquetas para las capas ("etiqueta1", "etiqueta2" ...):

convert ( -page +0+0 -label "label1" im1.xxx[0] -background none -mosaic -set colorspace RGB ) ( -page +0+0 -label "label2" "im2.xxx"[0] -background none -mosaic -set colorspace RGB ) ( -clone 0--1 -background none -mosaic ) -alpha Off -reverse "out.psd"

Es decir, para cada capa, tienes algo como

( -page +0+0 -label "optional_label" im1.xxx[0] -background none -mosaic -set colorspace RGB )

La etiqueta / nombre de la capa es opcional (eliminar -label si no la hay). [0] en im1.xxx[0] recupera la primera imagen en el archivo de imagen, en caso de que exista una miniatura en el Exif.

En Unix / OSX, debe proteger el paréntesis:

/( -page +0+0 -label "optional_label" im1.xxx[0] -background none -mosaic -set colorspace RGB /)

Si los nombres de las imágenes contienen caracteres especiales, puede protegerlos con " (p. Ej., "c:/my im1.png" ) sin ningún problema.

Espero que esto ayude.