Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2009, 12:46
Avatar de IMAC/
IMAC/
 
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 19 años, 5 meses
Puntos: 14
De acuerdo ¿Gasto de transferencia redimensionar imagenes? ¿Lentitud en mostrarlas?

Hola

Me he planteado mostrar los thumbails de cientos de imágenes mediante un script php que valdría para redimensionarlas y mostrarlas en el tamaño deseado. Pero no estoy muy convencido aún de su uso...

He de decir que la página donde se mostrarán contendrá en una misma página alrededor de 60 o 70 imágenes thumbails a través de las cuales podrá acceder a la imagen ampliada y otro tipo de información que no viene al caso.

Como con el procedimiento que sigo actualmente al realizar una actualización del contenido de la web en imágenes tengo que crear yo mismo los thumbails mediante photoshop(de una sola tirada, claro, por carpeta, pero quita tiempo y es costoso renombrarlas), me preguntaba si tal vez saldría más rentable crear los thumbails desde un script php.

Pero me cuestiono si tal vez crear 60 o 70 imágenes mediante un script de golpe puede crear lentitud de carga en la página o bien comer transferencia de algún modo.

El script en cuestión sería de un usuario del foro, linkito:

Llamada a la imagen con la configuración deseada:
Código PHP:
<img src="img.php?imagen=rutadelaimagen&w=60&h=60" width="60" height="60" border="0" alt="" /> 
Script php
Código PHP:
// IMG redimensionador (Héctor S. > [email protected])
//////////////////////////////////////////////////////////////////////////

if(file_exists($_GET["imagen"])){
$fotoperf $_GET["imagen"];
header("Content-type: image/jpeg");
$fileextsp split("/",$fotoperf);
$count count($fileextsp) - 1;
$nomarch $fileextsp[$count];
$fileext2 pathinfo($nomarch);
$formatperf strtolower($fileext2["extension"]);
$getsizesperf getimagesize($fotoperf);
$widthf $_GET["w"];
if(
$_GET["h"] == ""){
$h2 $widthf $getsizesperf[1];
$h2 $h2 $getsizesperf[0];
$heightf $h2;
}else{
$heightf $_GET["h"];
}
if(
$formatperf == "jpg" || $formatperf == "jpeg"){ $imgperf imagecreatefromjpeg($fotoperf); }
if(
$formatperf == "gif"){ $imgperf imagecreatefromgif($fotoperf); }
if(
$formatperf == "png"){ $imgperf imagecreatefrompng($fotoperf); }
if(
$formatperf == "bmp"){ $imgperf imagecreatefrombmp($fotoperf); }


if(
$getsizesperf[1] > $getsizesperf[0]){
$newheightperf $widthf $getsizesperf[1];
$newheightperf $newheightperf $getsizesperf[0];
$newwidthperf $widthf;
if(
$newheightperf $heightf){
$newwidthperf $heightf $getsizesperf[0];
$newwidthperf $newwidthperf $getsizesperf[1];
$newheightperf $heightf;
}
}else{
$newwidthperf $heightf $getsizesperf[0];
$newwidthperf $newwidthperf $getsizesperf[1];
$newheightperf $heightf;
if(
$newwidthperf $widthf){
$newheightperf $widthf $getsizesperf[1];
$newheightperf $newheightperf $getsizesperf[0];
$newwidthperf $widthf;
}
}

$thumbperf imagecreatetruecolor($newwidthperf$newheightperf);
imagecopyresampled($thumbperf$imgperf0000$newwidthperf$newheightperf$getsizesperf[0], $getsizesperf[1]);

if(
$newwidthperf == $widthf){
$x1 0;
$x2 $widthf;
}else{
$sobraw $newwidthperf $widthf;
$mitadw floor($sobraw 2);
$x1 $mitadw;
$x2 $mitadw $widthf;
}
if(
$newheightperf == $heightf){
$y1 0;
$y2 $heightf;
}else{
$sobrah $newheightperf $heightf;
$mitadh floor($sobrah 2);
$y1 $mitadh;
$y2 $mitadh $heighf;
}

$fpperf imagecreatetruecolor ($widthf$heightf);

imagecopy($fpperf$thumbperf00$x1$y1$widthf$heightf);
imagejpeg($fpperf,"",100);
imagedestroy($fpperf);


Por cierto, si conocéis o se os ocurre algún otro procedimiento para crear thumbails tras subir las imágenes mediante FTP a la página, no dudéis en comentarlo.

Gracias de antemano.

Última edición por IMAC/; 11/02/2009 a las 13:07