Foros del Web » Programando para Internet » PHP »

Ayuda con funcion para redimensionar foto

Estas en el tema de Ayuda con funcion para redimensionar foto en el foro de PHP en Foros del Web. Buenas a todos, tengo este script, creo que era de jam, que me redimensiona una foto, para que el peso sea el menor posible. el ...
  #1 (permalink)  
Antiguo 06/10/2008, 11:45
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Ayuda con funcion para redimensionar foto

Buenas a todos,

tengo este script, creo que era de jam, que me redimensiona una foto, para que el peso sea el menor posible. el codigo es este:

Código:
function redimensionar($file) {

	$imagen = ImageCreateFromJPEG($file);
	unlink($file); // BORRAMOS el archivo original
    $width  = imagesx($imagen);
    $height = imagesy($imagen);
    
    $nueva_anchura  = 150; // 
    $nueva_altura = 150;// 
    
        if (function_exists("imagecreatetruecolor")) {
           $calidad = ImageCreateTrueColor($nueva_anchura, $nueva_altura);
        } else $calidad = ImageCreate($nueva_anchura, $nueva_altura);

    ImageCopyResized($calidad, $imagen, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
    ImageJPEG($calidad, $file, 100);
    imagedestroy($imagen);
	return true;
}
el problema es que al hacerlo 150 x 150, me deforma las fotos si son de un tamaño muy grande. que opcion tendria, con este codigo, para hacer que sea algo proporcional?

saludos,

ferran
  #2 (permalink)  
Antiguo 06/10/2008, 11:49
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: Ayuda con funcion para redimensionar foto

creo que ya he encontrado la formulaaa!!1 llevaba dias probando como loco, y he probado esto:

$nueva_altura = ($nueva_anchura * $height) / $width ;

y creo que me lo hace!!

saludos y gracias!
  #3 (permalink)  
Antiguo 06/10/2008, 11:50
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con funcion para redimensionar foto

Si quieres hacer un thumbnail de 150x150 no importa el tamaño de la foto:
http://www.forosdelweb.com/f18/aport...drados-619577/

Si quieres hacerlo proporcionalmente tienes que calcular ya sea el ancho o el alto de la foto.

Si la foto es mas ancha que larga:
$new_ancho = ($ancho/$alto)*$new_alto; //Donde new_alto es un valor que tu defines anteriormente.

Si la foto es mas larga que ancha:
$new_alto = ($alto/$ancho)*$new_ancho; //Donde new_ancho sera el mismo valor antes definido para new_alto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:18.