Your final command should have "-geometry" after the inputs, and "-composite" after that, like this:
Code: Select all
convert cover.png spine.png -geometry +0+0 -composite composed_cover.png
Your first two commands each take one input, and process it to make an output. So you can substitute the inputs and processing for the two files in the third command, putting them inside parentheses so the processing is restricted to the respective input.
Code: Select all
convert ( cover_design.png -crop 812x816+880+0 -resize 1060x1060! -matte -alpha set -virtual-pixel transparent -distort Perspective "0,0,277,653, 1060,0,629,549, 1060,1060,897,706, 0,1060,497,859" ) ( cover_design.png -crop 67x816+814+0 -resize 1060x1060! -matte -virtual-pixel transparent -distort Perspective "0,0,277,670, 1060,0,277,653, 1060,1060,497,859, 0,1060,496,879" ) -geometry +0+0 -composite composed_cover.png
The parentheses need a space on both sides. If you use bash, you'll need to escape the parentheses: \( and \)
The command reads the file cover_design.png twice. We can save it in memory the first time, then read from memory the second time:
Code: Select all
convert ( cover_design.png +write mpr:COVERDES -crop 812x816+880+0 -resize 1060x1060! -matte -alpha set -virtual-pixel transparent -distort Perspective "0,0,277,653, 1060,0,629,549, 1060,1060,897,706, 0,1060,497,859" ) ( mpr:COVERDES -crop 67x816+814+0 -resize 1060x1060! -matte -virtual-pixel transparent -distort Perspective "0,0,277,670, 1060,0,277,653, 1060,1060,497,859, 0,1060,496,879" ) -geometry +0+0 -composite composed_cover.png
I don't know what "-matte" does or used to do. I suggest you use only documented operations and settings.