Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/09/2003, 17:09
Avatar de sdf23
sdf23
 
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 4 meses
Puntos: 0
mira me parecio interesante esto por eso me tome la libertad de escribir el codigo que sella la imagen haber que te parece mira para sellar la imagen puedes usar png,jp y gif peor solo puedes crear imagenes jpg y png ademas le añadi la opcion de crear thumbnails con solo :

miscript.php?imagen=nombreimagenaparchear.png&alto =150&ancho=150 puedes dejar en blanco el ancho y solo tomara un ratio xxD, si no quieres thumnail solo pones :

miscript.php?imagen=nombreimagenaparchear.png

las imagenes se generan al vuelo pero si quieres que se guarden agrega:

para thumbnails:

miscript.php?imagen=nombreimagenaparchear.png&alto =150&ancho=150&nombre=mifoto.jpg

normal:

miscript.php?imagen=nombreimagenaparchear.png&nomb re=mifoto.jpg

se guardan en el directorio que especifiques en la variable $dir

ojala no te alla confundido y si es asi hasmelo saber, y por cierto creen que deba estar en las faqs?

ojo solo funciona con GD 2 o superior para que funcione con versiones anteriores deben cambiar peuqeñas cosas y ademas para parchear gifs y ponerlos como sello deben tener la opcion de leer gif's

codigo

Código PHP:
<?
ob_start
();
/* PARCHEADOR POR ELITE [email][email protected][/email] 
int imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)
*/

if(!empty($_GET['imagen']))
{
    
$imagen $_GET['imagen'];
    
$promo "publicidad.gif"//la imagen que sellara
    
$dir "imagenes/"//donde se guardaran las imagenes que no son al vuelo permisos CHMOD 0777
    
$explode explode(".",$imagen);
    
$final end($explode);
    
$final strtolower($final);
    switch(
$final)
    {
        case 
"jpg":
        
$im imagecreatefromjpeg($imagen);
        
$type "image/jpeg";
        break;
        case 
"png":
        
$im imagecreatefrompng($imagen);
        
$type "image/png";
        break;
        case 
"gif":
                                
$type "image/gif";
        
$im imagecreatefromgif($imagen);
        break;
    }    
    
$promoEXT explode(".",$promo);
    
$promoFINAL end($promoEXT);
    
$promoFINAL strtolower($promoFINAL);
    switch(
$promoFINAL)
    {
        case 
"jpg":
        
$promo_ imagecreatefromjpeg($promo);
        break;
        case 
"png":
        
$promo_ imagecreatefrompng($promo);
        case 
"gif":
        
$promo_ imagecreatefromgif($promo);
    }
        
    
$imX imagesx($im);
    
$imY imagesy($im);
    
    
$tam getimagesize($promo); //imagesx e imagesy me daban problemas asi que use este
    
    
$promoX $tam[0];
    
$promoY $tam[1];
    

    
$posX $imX $promoX
    
$posY 0

    
imagecopy($im,$promo_,$posX,$posY,0,0,$promoX,$promoY);
   
// imagecopymerge($im,$promo_,$posX,$posY,0,0,$promoX,$promoY,100); 
       
if((!empty($_GET['ancho'])) || (!empty($_GET['alto'])))
    {
        if(!isset(
$_GET['ancho']))
        {
            
$tamanio getimagesize($imagen);
            
$asp = ($tamanio[1] / $_GET['alto']);
            
$ancho round($tamanio[0] / $asp);
                
        }
        else
        {
            
$ancho $_GET['ancho'];
        }
        
/*
        imagecopyresized ( int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
        */
        
$thumb imagecreatetruecolor($ancho,$_GET['alto']);
        
imagecopyresampled ($thumb,$im0000,$ancho,$_GET['alto'],$imX,$imY);
    
        if(empty(
$_GET['name']))
           {    
            
imagejpeg($thumb); 
            
imagedestroy($thumb);
            
header("Content-Type: ".$type);
            
header("Content-Disposition: inline; filename=elite.jpg");
        }
        else
        {
            
$explode explode(".",$_GET['name']);
            
$end end($explode);
            
$end strtolower($end);
            switch(
$end)
            {
                case 
"jpg":
                
imagejpeg($thumb,$dir.$_GET['name']);
                break;
                case 
"png":
                
imagepng($thumb,$dir.$_GET['name']);
                break;
            }
        }
    }
    else
    {
    
//
        
if(empty($_GET['name']))
           {    
            
imagejpeg($im); 
            
imagedestroy($im);
            
header("Content-Type: ".$type);
            
header("Content-Disposition: inline; filename=elite.jpg");
        }
        else
        {
            
$explode explode(".",$_GET['name']);
            
$end end($explode);
            
$end strtolower($end);
            switch(
$end)
            {
                case 
"jpg":
                
imagejpeg($im,$dir.$_GET['name']);
                break;
                case 
"png":
                
imagepng($im,$dir.$_GET['name']);
                break;
            }
        
//
        
}


    }

}
else
{
    
// si accesesan directo muestras error o no se
}
ob_end_flush();
?>
__________________

la vida es bella cuando no es culera

Última edición por sdf23; 01/09/2003 a las 17:18