Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/02/2008, 05:05
gmarcos87
 
Fecha de Ingreso: diciembre-2007
Mensajes: 17
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Como incorporarle un WaterMark (Marca de agua)

Hola, te paso este codigo, seguramente esta es la peor forma de hacerlo pero en su momento me saco de apuros. Te comento que tenia 3 marcas de aguas diferentes en PNG en diferentes tamaños y con la funcion elegia cual usar.
Si vas a trabajar con un solo formato le podes quitar bastante codigo, ademas tratá de solucionar el tema de trabajar con temporales, cosa que yo no puede y tenia que guardar cada imagen que generaba.

Espero que la explicacion y el codigo se entiendan, me gustaria escuchar sus comentarios para poder mejorarlo.

Muchas Graias y suerte.

Código PHP:
<?
function marca($nombre,$tama,$carpeta,$tipom,$formato){
if(
$tipom == 0)
    { 
    
$marca = "marca00.png";
    
$mancho = 200;
    
$malto = 57;
    }
elseif(
$tipom == 1)
    { 
    
$marca = "marca01.png";
    
$mancho = 150;
    
$malto = 43;
    }
elseif(
$tipom == 2)
    { 
    
$marca = "marca02.png";
    
$mancho = 100;
    
$malto = 28;
    }

            if(
$formato=="gif")    {    
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefromgif("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);
                
imagegif($_Imagen1,"$carpeta/tmp/$nombre");

                }


            elseif(
$formato=="jpg")    {    
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefromjpeg("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);
                
imagejpeg($_Imagen1,"$carpeta/tmp/$nombre");

                }


            elseif(
$formato=="png")    {
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefrompng("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);
                
imagepng($_Imagen1,"$carpeta/tmp/$nombre");
                    

                }
}
function 
marca2($nombre,$tama,$carpeta,$tipom,$formato,$size){
if(
$tipom == 0)
    { 
    
$marca = "marca00.png";
    
$mancho = 200;
    
$malto = 57;
    }
elseif(
$tipom == 1)
    { 
    
$marca = "marca01.png";
    
$mancho = 150;
    
$malto = 43;
    }
elseif(
$tipom == 2)
    { 
    
$marca = "marca02.png";
    
$mancho = 100;
    
$malto = 28;
    }
            if(
$formato=="gif")    {    
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefromgif("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
$_Imagen1b = imagecreatetruecolor($tama[0],$tama[1]);
                
imagecopyresized($_Imagen1b,$_Imagen1,0,0,0,0,$tama[0],$tama[1],$size[0],$size[1]);
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1b,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);

                
imagegif($_Imagen1b,"$carpeta/tmp/$nombre");

                }


            elseif(
$formato=="jpg")    {    
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefromjpeg("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
$_Imagen1b = imagecreatetruecolor($tama[0],$tama[1]);
                
imagecopyresized($_Imagen1b,$_Imagen1,0,0,0,0,$tama[0],$tama[1],$size[0],$size[1]);
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1b,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);
                
imagejpeg($_Imagen1b,"$carpeta/tmp/$nombre");

                }


            elseif(
$formato=="png")    {
                
// Creacion de la imagen nueva
                
$_Imagen1 = imagecreatefrompng("res/$nombre");
                
$_Imagen2 = imagecreatefrompng("foto/$marca");
                
//200,170 >> Tamaño de 2º imagen
                
$_Imagen1b = imagecreatetruecolor($tama[0],$tama[1]);
                
imagecopyresized($_Imagen1b,$_Imagen1,0,0,0,0,$tama[0],$tama[1],$size[0],$size[1]);
                
$ancho = $tama[0];
                
$alto = $tama[1];
                
$_X = $ancho - $mancho; 
                
$_Y = $alto - $malto;
                
                
imagecopy($_Imagen1b,$_Imagen2,$_X,$_Y,0,0,$mancho,$malto);
                
imagepng($_Imagen1b,"$carpeta/tmp/$nombre");
                    

                }
}
?>