Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/09/2009, 05:16
Avatar de lyoung
lyoung
 
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Redimensionar proporcionalmente

No estoy seguro de que sea lo que precisas, pero yo uso este script que funciona bárbaro.
Le da a la imagen un ancho fijo y cambia su altura.
Si la altura supera un máximo, reduce el ancho.

Generá un archivo con el siguiente código:
Código PHP:
<?php

$anchura
=$_GET['ancho'];
$hmax=$_GET['altura'];

$nombre=$_GET['foto'];
$datos getimagesize($nombre);
if(
$datos[2]==1){$img = @imagecreatefromgif($nombre);}
if(
$datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if(
$datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if(
$altura>$hmax)
{
$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
if(
$datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if(
$datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if(
$datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb);
?>
Lo guardas como redimensionar.php.

En donde debería ir la imagen ponés lo siguiente:
Código HTML:
<img src="redimensionar.php?ancho='anchofijo'&altura='alturamaxima'&foto='nombredeimagen'"> 
Donde anchofijo es el número de píxeles que querés de máximo
alturamaxima es el número de píxeles que querés como máximo
nombredeimagen es el nombre de la imagen (incluyendo la ruta de acceso)

Es una adaptación que saqué de algún lado, pero no me acuerdo donde.

Suerte
__________________
Todo se ve mejor si le miramos el lado positivo.