Hola aca te dejo la función que uso para crear marca de agua:
Código PHP:
/*
Recibe la imagen
*/
function aplicaSello($image){
global $marcaDagua;
/* Variable que me indica donde estará el archivo q usare como marca de agua. De preferencia un PNG */
// Esta imagen es el logo que se pondra.
$imagen_logo = imagecreatefrompng($marcaDagua);
// Defino ancho, alto del logo.
$ancho_logo = imagesx($imagen_logo);
$alto_logo = imagesy($imagen_logo);
// Creo la imagen a cual se le pondra el logo.
$imagen_dest = imagecreatefromjpeg($image);
// Defino ancho, alto de la imagen que se le colocara el logo.
$ancho_dest = imagesx($imagen_dest);
$alto_dest = imagesy($imagen_dest);
// Defino la posicion donde se mostrara el logo dejando
// 10 pixeles de espacio. Se mostrara en la parte
// inferior derecho.
$ancho_muestra = ($ancho_dest - $ancho_logo) - 10;
$alto_muestra = ($alto_dest - $alto_logo) - 10;
//Envio la cabecera para mostrar la imagen. (Descomentar si kieres mostrarla)
//header("Content-type: image/jpeg");
// Sobre pongo el logo a la imagen.
imagecopyresized($imagen_dest,$imagen_logo,$ancho_muestra,$alto_muestra,0,0,$ancho_logo,$alto_logo,$ancho_logo,$alto_logo);
// Guardo la imagen que ya tiene el logo.
imagejpeg($imagen_dest,$image,75);
// Muestro la imagen. (Descomentar si kieres mostrarla)
//imagejpeg($imagen_dest,"",75);
// Destruyo las imagenes.
imagedestroy($imagen_dest);
imagedestroy($imagen_logo);
}
Espero que les sea util. A mi me es muy util ;)