PNG transparente sobre JPG em PHP

O que parece ser simples, não é:

Estou tentando adicionar algo como uma marca d'água (png transparente) em uma imagem (jpg). Este é o código que estou 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);

Quando mesclar as imagens, o png é posicionado no lugar certo, tudo acima e à esquerda é bom (o jpg é copiado), mas todo o resto é preto.

Tentei definir imagesavealpha e imagealphablending como false, não havia nenhuma diferença.

Você pode ver a imagem resultante emhttp: //ekstrakt.selfip.com/photobomb/image.ph

Pesquisei na net, não consigo encontrar uma solução.

Qualquer ajuda é apreciada.

questionAnswers(2)

yourAnswerToTheQuestion