Hello, I'm new to imagemagick and have been poring over the docs to figure this out, but I give up
I'm trying to take a source PSD file and export all of it's layers into PNG files, which are titled with the name of the layer. I'm unsure if IM can get Group information from PSDs, but if it can I would also like to have that in the title of the PNG.
So a list of "GroupName-LayerName.PNG" files would be the result.
I see the layername listed as label: in the output from identify verbose, but I'm unsure how to use this in Convert? Anyone know how to do this?
Converting PSDs to PNG with layer names intact
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: Converting PSDs to PNG with layer names intact
if it is in the verbose info, then you will likely need to write a script to get the name first and put into a variable, then use convert to extract the layer you want and give the output name according to the variable value you had extracted. You will need to loop over each layer in the image.
can you post a link to a sample pdf with the layer names in the verbose info?
can you post a link to a sample pdf with the layer names in the verbose info?
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: Converting PSDs to PNG with layer names intact
here is how to get the name of the label from a given frame
label=`convert TestLayers.psd[1] -verbose info: | grep "label:" | cut -d: -f 2 | cut -d\ -f2`
echo $label
TestLayer
you just need to find out how many layers
numlayer=`convert TestLayers.psd -format "%[scenes]" info: | head -n 1`
echo $numlayers
3
Then loop through each layer in a script and get the label name and use that in your convert
convert TestLayers.psd[1] TestLayers-${label}.png
label=`convert TestLayers.psd[1] -verbose info: | grep "label:" | cut -d: -f 2 | cut -d\ -f2`
echo $label
TestLayer
you just need to find out how many layers
numlayer=`convert TestLayers.psd -format "%[scenes]" info: | head -n 1`
echo $numlayers
3
Then loop through each layer in a script and get the label name and use that in your convert
convert TestLayers.psd[1] TestLayers-${label}.png