Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Azielito en 13 Noviembre 2006, 16:36 pm



Título: Galeria barata en PHP
Publicado por: Azielito en 13 Noviembre 2006, 16:36 pm
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]
Código:
<!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
Código:
<?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


Título: Re: Galeria barata en PHP
Publicado por: simon_stz en 13 Noviembre 2006, 17:13 pm
Me parece una idea muy buena. Te simplifica las cosas bastante. Gracias por la aportacion.


Título: Re: Galeria barata en PHP
Publicado por: Luisango en 13 Noviembre 2006, 17:41 pm
No esta mal, bien hecho xD :) ;)