Buenas!!!
 
pues yo tengo este codigo que uso y funciona perfectamente  
 Código PHP:
    <?php
// Load the stamp and the photo to apply the watermark to
$foto = "photo.jpg";
echo protegefoto($foto);
function protegefoto($fotop)
{
 $proteg = "stamp.png";
 $stamp = imagecreatefrompng($proteg);
 $im = imagecreatefromjpeg($fotop);
     // Set the margins for the stamp and get the height/width of the stamp image
     $marge_right = 10;
     $marge_bottom = 10;
     $sx = imagesx($stamp);
     $sy = imagesy($stamp);
 
   // Copy the stamp image onto our photo using the margin offsets and the photo
   // width to calculate positioning of the stamp.
   imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
 
      // Output and free memory
      header('Content-type: image/png');
      imagepng($im);
      imagedestroy($im);
}
?>    
  adaptado a tus necesidades 
un saludo!!