Formula para calcular el alto o ancho
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
<code>
/* 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;
}
</code>
markshock
solucionado...!!
el tema estaba en que si la foto era lansdscape o portrait al hacer el resize de tamaño para el thumbnail que tubiera la anchura suficiente o el largo suficiente para poder hacer un crop y dejarla a 150 x 160.
<code>
/* Indicamos la anchura que tendrá la miniatura */
$anchomini = 150;
$altomini_tmp = 160;
if(($ancho/$anchomini) > ($alto/$altomini_tmp)){
echo('landscape: <br>');
$tmp_height = $altomini_tmp;
$tmp_width = $ancho * $altomini_tmp / $alto;
}else{//vertical
echo('portrait: <br>');
$tmp_height = $alto * $anchomini / $ancho;
$tmp_width = $anchomini;
}
</code>
usando esto así.. tanto x un lado como el otro me sobrara para recortar.