Galeria barata en PHP

Iniciado por Azielito, 13 Noviembre 2006, 16:36 PM

0 Miembros y 1 Visitante están viendo este tema.

Azielito

Pues eso, tenia un problema al redimencionar imagenes a colore verdadero y no encontraba nada xD por fin, encontre un código y logre hacerlo...
el resultado fue este
sub]index.php[/sub]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Resizador de imagenes By Azielito</title>
</head>

<body><?php
$stime 
gettimeofday();
$root getcwd();
$d dir($root);
while (
false !== ($entrada $d->read())) {
if(strstr($entrada,".jpg")){
$foto htmlspecialchars($entrada);
echo "<a href=\"$foto\" target=\"_blank\"><img src=\"res.php?im=c:\\xampp\\htdocs\.fotos\\".$foto."\"></a><br>$foto<hr>\n";
}
}
$d->close();
$ftime gettimeofday();
$time round(($ftime[sec] + $ftime[usec] / 1000000) - ($stime[sec] + $stime[usec] / 1000000), 5);
echo 
"<hr><center>esta ***** se tardo $time segundos</center>\n";
?>

</body>
</html>


res.php
<?php
function redimensionar($type$img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad)
{

    
$defecto 'no.jpg';

    if(
file_exists($img_original)) {

        
// crear imagen desde original
        
$type=strtolower($type);
        switch(
$type)
        {
            case 
'jpeg':    $img ImageCreateFromJPEG($img_original); break;
            case 
'jpg':        $img ImageCreateFromJPEG($img_original); break;
            case 
'png':        $img ImageCreateFromPNG($img_original); breaK;
            case 
'gif':        $img ImageCreateFromGIF($img_original); breaK;
            case 
'wbmp':    $img ImageCreateFromWBMP($img_original); break;
            default:        
$img ImageCreateFromJPEG($defecto);    break;
        }

    } else {
            
$img ImageCreateFromJPEG($defecto); 
    }


    if(!empty(
$img)) {


            
$new_w_R ImageSX($img);
            
$new_h_R ImageSY($img);

            
$img_nueva_altura 50;


            
// se calcula la relación alto/ancho
            
$aspect_ratio $new_h_R/$new_w_R;

            
// se ajusta al nuevo tamaño
            
$img_nueva_altura abs($img_nueva_anchura $aspect_ratio);

            
// crear imagen nueva
            
$thumb ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);

            
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
            
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));

            
// guardar la imagen redimensionada donde indica $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
        }


}

// Ejemplo


redimensionar("jpg",$_GET['im'],$_GET['dest'],250,250,100); 
?>


Se puede "personalizar" un poco
el uso que le veo es para poner un index.php en directorio de imagenes para galerias y eso

saludos

simon_stz

Me parece una idea muy buena. Te simplifica las cosas bastante. Gracias por la aportacion.

Luisango

Even better...