views:

2108

answers:

3

I need to create a layered PSD file with ImageMagick or any other command-line tool available on Linux platform. Since I need to do this on Linux server, I can't use Photoshop scripting.

The ImageMagick command below creates PSD file with a single layer, where two images (here: plasma fractals) are positioned one below another. (I use ImageMagick 6.5.3-10 2009-07-31 Q16, latest available in MacPorts.)

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

How do I create a PSD file where each image is in its own layer, and one layer is directly above another?

Or, is there any other command line tool that would allow me to do this?

Update: Any other options than GIMP command line?

A: 

Hello Alexander,

Here is some useful links to you:

The second link is to use with PHP, but it executes ImageMagick, only use the commands, not the all PHP syntax, only the line of exec code.

Hope i'm helping you!

Nathan Campos
Why the down vote??????????
Nathan Campos
Sorry, but can you please point me where in those links is described how to **create** PSD file with layers?
Alexander Gladysh
+6  A: 

If ImageMagick won't work, I'd look at Gimp command line.

The following commands created a 2-layer PSD file for me in the interactive console:

> (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)

That would need to be converted into a script-fu script (.scm file) and could be executed from the command-line with something like this:

gimp -i -b '(your-script-name "test.psd" 200 200)' -b '(gimp-quit 0)'
Jon Galloway
It's not that ImageMagick won't work, it's that I do not know how to make it work properly... To use Gimp is interesting idea, thank you. However, I'm a bit concerned with the need to install it on the server without X Window system and Gnome... Wouldn't it be a bit too heavy?
Alexander Gladysh
Gimp is definitely heavier than ImageMagick, and from what I read it's not going to perform as quickly, either. But from what I read of ImageMagick, I'm not sure it can create layered PSD's, just edit or flatten them.
Jon Galloway
+2  A: 

You can use the -adjoin to combine an image sequence.

convert -size 100x100 -alpha set plasma:fractal -alpha set plasma:fractal -adjoin out.psd
  • The alpha channels are needed for the PSD coder.
  • The order of the images is bottom layer to top layer.
  • There are a lot of compatibility issues with Photoshop and GIMP depending on the settings.

Using:

  • ImageMagick 6.5.4-6
  • Photoshop CS2
Jared314
Indeed there are some compatibility problems. Both Photoshop CS4 and OS X built-in previewer plainly refuse to open resulting image. :-(
Alexander Gladysh
Updated the command to work with Photoshop CS2, but I cannot test CS4
Jared314
Still does not work with neither CS4 nor CS3 nor OS X viewer. Photoshop says: "There was a problem reading the layer data. Read the composite data instead?" and then "Could not complete your request because the file is not compatible with this version of Photoshop.
Alexander Gladysh
Updated ImageMagick to 6.5.3-10 2009-07-31 Q16 (the latest available in MacPorts), but it still does not work.
Alexander Gladysh