Foros del Web » Programando para Internet » PHP »

calcular proporciones al crear thumbnail..

Estas en el tema de calcular proporciones al crear thumbnail.. en el foro de PHP en Foros del Web. Hola amigos, estoy haciendo un script en php, que generá unos thumbnails y quiero que todos los thumbnails sean del mismo tamaño, 150 x 160.. ...
  #1 (permalink)  
Antiguo 01/12/2006, 01:30
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 7 meses
Puntos: 0
calcular proporciones al crear thumbnail..

Hola amigos,

estoy haciendo un script en php, que generá unos thumbnails y quiero que todos los thumbnails sean del mismo tamaño, 150 x 160..

entonces..

cuando recojo la imagen compruebo si es landscape o si es una imagen vertical (portrait creo que se llama).

una vez hago esto.. lo que me interesa es que sea landscape o portrait, tenga un width de 150, el height de momento me da igual... pero claro he de calcular el proporcional de height si le meto 150 de width al thumbnail.


una vez tenga eso.. le haré un crop.. al height de la foto para que me queda a 160...

alguien sabe la formula para calcular esa proporcionalidad?

gracias..

tengo esto.. pero no me funciona :S

Código:

/* Hallamos la anchura y altura de la imagen original */
$ancho = imagesx($original);
$alto = imagesy($original);

/* Indicamos la anchura que tendrá la miniatura */
$anchomini = 150;
$altomini_tmp = 160;

//landscape
if(($ancho/$anchomini) > ($alto/$altomini_tmp)){
echo('landscape: ');
$tmp_height = $anchomini;
$tmp_width = $ancho * $altomini_tmp / $alto;
}else{//vertical
echo('portrait');
$tmp_height = $altomini_tmp;
$tmp_width = $ancho * $altomini_tmp / $alto;
}
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
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 22:15.