Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/02/2008, 05:05
gmarcos87
 
Fecha de Ingreso: diciembre-2007
Mensajes: 17
Antigüedad: 17 años, 1 mes
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");
                    

                }
}
?>