PNG transparente sobre JPG en PHP

Lo que parece simple, no lo es:

Estoy tratando de agregar algo como una marca de agua (png transparente) en una imagen (jpg). Este es el código que estoy usando:

$width = 800; 
$height = 600; 
$bottom_image = imagecreatefromjpeg("portrait1.jpg"); 
$top_image = imagecreatefrompng("man2.png"); 
imagesavealpha($top_image, true); 
imagealphablending($top_image, true); 
imagecopy($bottom_image, $top_image, 200, 200, 0, 0, $width, $height); 
header('Content-type: image/png');
imagepng($bottom_image);

Cuando combino las imágenes, el png se coloca en el lugar correcto, todo lo que está arriba y a la izquierda es bueno (se copia jpg), pero todo lo demás es negro.

He intentado configurar imagesavealpha y imagealphablending en falso, no hubo ninguna diferencia.

Puedes ver la imagen resultante enhttp: //ekstrakt.selfip.com/photobomb/image.ph

He buscado en la red, no puedo encontrar una solución.

Cualquier ayuda es apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta