Page 1 of 1

How to crop multiple images and place them in one image?

Posted: 2008-04-04T04:47:15-07:00
by kleinstadtmc
i try to crop four images and place them resized into one new image
but it doesnt work right
maybe somebody know it better
here is my code:

Code: Select all

usr/bin/convert -size 70x50 xc:skyblue \ 
one.jpg -crop 153x229+0+0 -geometry 31x21+2+2 -composite \ 
two.jpg -crop 153x229+0+0 -geometry 31x21+36+2 -composite \ 
three.jpg -crop 281x375+1+1 -geometry 31x21+2+26 -composite \ 
four.jpg -crop 281x375+0+0 -geometry 31x21+36+26 -composite \ 
final.jpg

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-04T10:00:53-07:00
by fmw42
Your crop size and geometry size are not consistent and your crop size is bigger than your skyblue background.

If you want a self-expanding background, then see layers composite
http://www.imagemagick.org/Usage/layers/#merge

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-07T01:15:07-07:00
by kleinstadtmc
the new image must have a fix size

but i have to crop and resize the four images before i place them into the new image,
and i don't want to save the four images before on my webspace

is it possible to do this all in one ?
1. cropping the four images
2. resize the four images
3. place them into a new image
4. save the new image

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-07T10:54:32-07:00
by fmw42
convert -size BACKGROUNDWIDTHxBACKGROUNDHEIGHT xc:BACKGROUNDCOLOR \
\( IMAGE1[CROPWIDTH1xCROPHEIGHT1+CROPLOCX1+CROPLOCY1] -resize NEWWIDTH1xNEWHEIGHT1 \) \
-geometry +PLACEMENTX1+PLACEMENTY1 -compose COMPOSEMETHOD -composite \
\( IMAGE2[CROPWIDTH2xCROPHEIGHT2+CROPLOCX2+CROPLOCY2] -resize NEWWIDTH2xNEWHEIGHT2 \) \
-geometry +PLACEMENTX2+PLACEMENTY2 -compose COMPOSEMETHOD -composite \
... etc for all other images ... OUTPUTIMAGE

see the use of \(...\)

http://www.imagemagick.org/Usage/basics/#parenthesis

see the use of [...] brackets for cropping

http://www.imagemagick.org/script/comma ... essing.php


The BACKGROUND SIZE determines how big your output image will be.

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-09T05:41:08-07:00
by kleinstadtmc
this seemed to be the right solution but te final image has not the right size
it has 30x21 not 70x50

here is my code:

Code: Select all

/usr/bin/php-smed/convert -size 70x50 xc:skyblue \ 
\( one.jpg[333x220+0+0] -resize 31x45 \) \ 
-geometry +2+2 -compose src-over -composite \ 
\( two.jpg[151x229+0+0] -resize 31x21 \) \ 
-geometry +36+2 -compose src-over -composite \ 
\( three.jpg[174x262+37+10] -resize 31x21 \) \ 
-geometry +36+26 -compose src-over -composite \ 
final.jpg

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-09T11:02:14-07:00
by fmw42
try:

/usr/bin/php-smed/convert -size 70x50 xc:skyblue \
\( one.jpg[333x220+0+0] -resize 31x45 \) \
-geometry +2+2 -compose src-atop -composite \
\( two.jpg[151x229+0+0] -resize 31x21 \) \
-geometry +36+2 -compose src-atop -composite \
\( three.jpg[174x262+37+10] -resize 31x21 \) \
-geometry +36+26 -compose src-atop -composite \
final.jpg

or

/usr/bin/php-smed/convert -size 70x50 xc:skyblue \
\( one.jpg[333x220+0+0] -resize 31x45 \) \
-geometry 31x45+2+2 -compose src-atop -composite \
\( two.jpg[151x229+0+0] -resize 31x21 \) \
-geometry 31x21+36+2 -compose src-atop -composite \
\( three.jpg[174x262+37+10] -resize 31x21 \) \
-geometry 31x21+36+26 -compose src-atop -composite \
final.jpg

Note there is no src-over. You want either over or src-atop.

If that does not work, post links to your images and I will test it out

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-09T23:31:56-07:00
by kleinstadtmc
ok i tried it without the -resize
now the size of the final.jpg is right

but the size of the three images not...
the first pic should have 31x45 but it is 31x20
the second pic should have 31x21 but it is 16x21
and so on...

where is the problem?

Code: Select all

/usr/bin/php-smed/convert -size 70x50 xc:skyblue \ 
\( one.jpg[326x215+0+0] \) \ 
-geometry 31x45+2+2 -compose src-atop -composite \ 
\( two.jpg[159x215+0+0] \) \ 
-geometry 31x21+36+2 -compose src-atop -composite \ 
\( three.jpg[159x215+0+0] \) \ 
-geometry 31x21+36+26 -compose src-atop -composite \ 
final.jpg

Re: How to crop multiple images and place them in one image?

Posted: 2008-04-10T10:46:28-07:00
by fmw42
I never said to remove the -resize. However, -composite does allow you to use the -geometry size to do resizing, but I have never tried it to be sure it works.

Post links to your pictures so we can test.

Re: How to crop multiple images and place them in one image?

Posted: 2008-05-17T23:50:12-07:00
by anthony
Your original problem is that -crop crops ALL images, not just the last read image!!!!!

only -geometry does not do this and it is a special command.


Solution use Parenthesis. See IM examples, Basics.