Corta cualquier forma de imagen (Imagik / Gd)

¿Hay alguna manera de cortar cualquier forma de imagen cuadrada en PHP?

Ejemplo, tengo una imagen con forma de corazón:

enter image description here

Otra imagen del mismo tamaño que el corazón.

Imagen final:

enter image description here

Entonces, ¿mi pregunta es de qué manera en PHP para hacer tal efecto a partir de dos imágenes o una imagen?

Básicamente, solo quiere copiar la opacidad de la plantilla del corazón en la imagen del automóvil. Entonces, en la línea de comando, harías:

convert motor.jpg heart.png -compose copyopacity -composite result.png 

enter image description here

Y en PHP:

 #!/usr/local/bin/php -f compositeImage($template,imagick::COMPOSITE_COPYOPACITY,0,0); $image->writeImage('result.png'); ?>