Is there are way to automatically resize the overlay image according to background size when overlaying images using ImageMagick? I am using the following code now:
First of all, overlay and background do not need to be the same size for composite to work. For example, given these two images:
sydney.png (352x288):
jet2.png (128x129):
Try the following commands:
convert -size 352x288 -composite sydney.png jet2.png -geometry 64x64+176+144 -depth 8 test.png
convert -size 352x288 -composite sydney.png jet2.png -geometry 32x32+176+144 -depth 8 test.png
-size
specifies the output image dimensions-geometry
specifies the dimensions and location of the foregroundThis is what I get for the first command:
EDIT
Here's a bash script to do it all for you in one line:
#!/bin/bash
if [ -z "$3" ]
then
echo "usage: $0 background.png foreground.png output.png"
exit 1
fi
bg_size=`identify -format '%wx%h' "$1"`
convert -size $bg_size -composite "$1" "$2" -geometry $bg_size+0+0 -depth 8 "$3"