Reputation: 4102
I am trying to create a png file with a transparent background, in which I put images next to each other.
My command so far is this:
convert --% -bordercolor none -background none -gravity center logo.png -border 5x5 ( img1.jpg img2.jpg img3.jpg -border 5x5 +append ) ( img4.jpg img5.jpg img6.jpg -border 5x5 +append ) -append -border 5x5 -resize 720x480 output.png
it creates me this image
how do I have to change my command to make the image appear as following?
(I made the background grey so one can see the white text, the background shall be transparent later on)
I tried Mark Setchells suggestion the command so far looks like this:
convert -background none -bordercolor none -gravity west \ C:\xampp\htdocs\app\storage\images\Img_1.jpg label:"1" +swap -append label:"text 1" -append -write miff:- +delete \ C:\xampp\htdocs\app\storage\images\Img_2.jpg label:"2" +swap -append label:"text 2" -append -write miff:- +delete \ C:\xampp\htdocs\app\storage\images\Img_3.jpg label:"3" +swap -append label:"text 3" -append -write miff:- +delete \ C:\xampp\htdocs\app\storage\images\Img_4.jpg label:"4" +swap -append label:"text 4" -append -write miff:- +delete \ C:\xampp\htdocs\app\storage\images\Img_5.jpg label:"5" +swap -append label:"text 5" -append -write miff:- +delete \ C:\xampp\htdocs\app\storage\images\Img_6.jpg label:"6" +swap -append label:"text 6" -append miff:- | montage -set label '' miff:- -background pink -tile 3x2 -geometry +15+5 miff:- | convert -size 800x500 xc:gray80 -gravity center miff:- -composite -gravity north C:\xampp\htdocs\app\storage\images\logo.png -geometry +0+30 -composite C:\xampp\htdocs\app\storage\images\result.png
Upvotes: 2
Views: 2309
Reputation: 207465
You can do it many ways. Here is one:
#!/bin/bash
convert -background none -bordercolor none -gravity west \
\( 1.png label:"1" +swap -append label:"text 1" -append -border 5x5 \) \
\( 2.png label:"2" +swap -append label:"text 2" -append -border 5x5 \) +append \
\( 3.png label:"3" +swap -append label:"text 3" -append -border 5x5 \) +append \
\( \
\( 4.png label:"4" +swap -append label:"text 4" -append -border 5x5 \) \
\( 5.png label:"5" +swap -append label:"text 5" -append -border 5x5 \) +append \
\( 6.png label:"6" +swap -append label:"text 6" -append -border 5x5 \) +append \
\) -append \
-gravity center -extent 800x550 \
-gravity north logo.png -geometry +0+30 -composite result.png
This way you can use the first convert
command to put the labels above and below each image and then stream all 6 labelled images into montage
to do the grid layout (on pink) for you and from there back into another convert
to create the gray background canvas and write the logo on at the top.
#!/bin/bash
convert -background none -bordercolor none -gravity west \
1.png label:"1" +swap -append label:"text 1" -append -write miff:- +delete \
2.png label:"2" +swap -append label:"text 2" -append -write miff:- +delete \
3.png label:"3" +swap -append label:"text 3" -append -write miff:- +delete \
4.png label:"4" +swap -append label:"text 4" -append -write miff:- +delete \
5.png label:"5" +swap -append label:"text 5" -append -write miff:- +delete \
6.png label:"6" +swap -append label:"text 6" -append miff:- |
montage -set label '' miff:- -background pink -tile 3x2 -geometry +15+5 miff:- |
convert -size 800x500 xc:gray80 -gravity center miff:- -composite -gravity north logo.png -geometry +0+30 -composite result.png
Sorry, I have no idea or understanding why Windows is so poor at parsing the command, but after much fiddling around, the following seems to work - I have no idea why!
convert -background none -bordercolor none -gravity west ^
1.png label:"1" +swap -append label:"text 1" -append -write miff:- +delete ^
2.png label:"2" +swap -append label:"text 2" -append -write miff:- +delete ^
3.png label:"3" +swap -append label:"text 3" -append -write miff:- +delete ^
4.png label:"4" +swap -append label:"text 4" -append -write miff:- +delete ^
5.png label:"5" +swap -append label:"text 5" -append -write miff:- +delete ^
6.png label:"6" +swap -append label:"text 6" -append miff:- | montage -set label "" miff:- ^
-background pink -tile 3x2 -geometry +15+5 miff:- | convert -size 800x500 ^
xc:gray80 -gravity center miff: -composite -gravity north logo.png -geometry +0+30 -composite result.png
Upvotes: 6