Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/04/2009, 10:21
linkito
 
Fecha de Ingreso: noviembre-2006
Mensajes: 17
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: ¿Gasto de transferencia redimensionar imagenes? ¿Lentitud en mostrarlas?

Imac si lo que quieres es hacer el proceso de redimension y guardarlo en una carpeta sin tener que usar el script que hice del img.php, te pego aquí un código que hice tambien para redimensionar imagenes bastante bueno (esta hecho solo para JPGs, pero si se modifica el final de la funcion y se hace un imageXXX se podrá usar para cualquier extension)

Código PHP:
function redimensionar($fotoperf$fileouto$formatperf$widthf$heightf 0){

$getsizesperf getimagesize($fotoperf);

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(
$heightf == 0){
    
list(
$width$height) = getimagesize($fotoperf);
$newheightperf $widthf $height;
$newheightperf $newheightperf $width;
$newwidthperf $widthf;

}else{
    
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;
}
}

}
// fin comprobacion heightf

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

if(
$heightf != 0){
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$fileouto100);
}else{
imagejpeg($thumbperf$fileouto100);
}

@
chmod($fileouto,0644);


Parecera un lio de variables, y puede ser ya que lo hice hace 1 año o asi jeje. Te c omento:

Código PHP:
function redimensionar($fotoperf$fileouto$formatperf$widthf$heightf 0
La variable $fotoperf es la variable que contiene la imagen a subir, o procesar (puede ser de alguna que este ya en el FTP).
La variable $fileouto es la variable donde se alojará la imagen
La variable $formatperf es el formato de la imagen a subir
La variable $widthf es el ancho al que quieres redimensionar la imagen
La variable $heightf es opcional, ya que si no la rellenas, la imagen se redimensionará al ancho que pusiste anteriormente y el alto, será proporcional a dicho ancho. Si especificas un alto en esta variable, se redimensionará proporcionalmente al ancho o alto que esté más cerca de los tamaños a los que queremos redimensionar, y se cogerá la parte central de esta redimension en caso de que sobre algunos pixeles de ancho o alto.

Como ya dije en el de img, es mejor que lo probéis y así veréis bien como funciona ;)

Saludos!!