Composite hard edge

Cut a round hole in an image and composite it over another image so the second image shows through

Composite hard edge example
<?php // Get the image size to creat the mask
// This can be done within Imagemagick but as we are using php this is simple.
$size getimagesize("$input14");

// Create a mask with a round hole 
$cmd " -size {$size[0]}x{$size[1]} xc:none -fill black ".
" -draw \"circle 120,220 120,140\" "
exec("convert $cmd mask.png"); 

// Cut out the hole in the top image 
$cmd " -compose Dst_Out mask.png -gravity south $input14 -matte "
exec("composite $cmd result_dst_out1.png"); 

// Composite the top image over the bottom image 
$cmd $input20 result_dst_out1.png -geometry +60-20 -composite "
exec("convert $cmd output_temp.jpg"); 

// Crop excess from the image where the bottom image is larger than the top
$cmd " output_temp.jpg -crop 400x280+60+0 ";
exec("convert $cmd composite_sunflower_hard.jpg "); 

// Delete tempory images
unlink("mask.png"); 
unlink("result_dst_out1.png"); 
unlink("output_temp.jpg");  ?>