no he usado mucho lo de la creación de imagenes, pero creo que esto te puede servir
Código PHP:
function marcadeagua($img_original, $img_marcadeagua, $img_nueva, $calidad) {
// obtener datos de la fotografia
$info_original = getimagesize($img_original);
$anchura_original = $info_original[0];
$altura_original = $info_original[1];
// obtener datos de la "marca de agua"
$info_marcadeagua = getimagesize($img_marcadeagua);
$anchura_marcadeagua = $info_marcadeagua[0];
$altura_marcadeagua = $info_marcadeagua[1];
// calcular la posicion donde debe copiarse la "marca de agua" en la fotografia
$horizextra = $anchura_original - $anchura_marcadeagua;
$vertextra = $altura_original - $altura_marcadeagua;
$horizmargen = round($horizextra / 2);
$vertmargen = round($vertextra / 2);
// crear imagen desde el original
$original = ImageCreateFromJPEG($img_original);
ImageAlphaBlending($original, true);
// crear nueva imagen desde la marca de agua
$marcadeagua = ImageCreateFromPNG($img_marcadeagua);
if(!$marcadeagua){return false;}//si falla la creación de la imagen devolvemos false
// copiar la "marca de agua" en la fotografia
ImageCopy($original, $marcadeagua, 458, 0, 0, 0, $anchura_marcadeagua, $altura_marcadeagua);
// guardar la nueva imagen
ImageJPEG($original, $img_nueva, $calidad);
// cerrar las imagenes
ImageDestroy($original);
ImageDestroy($marcadeagua);
return true;//si llega hasta este punto sin error, devolvemos true
}
// aplicamos la funcion a una imagen "original.jpg"
$ok = marcadeagua("intplus/imag00000002.jpg","intplus/watermark.png","imags/imag00000002.jpg",100);
if ($ok) {
echo "si existe la función"; }
else {
echo "no existe la función"; }
suerte y saludos.