Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/02/2006, 09:16
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
No se que tiene que ver nl2br.
Fijate si este se ajusta a lo que buscas:
Código PHP:
<?
$maximoPx 
1000;
$imagen = isset( $_GET["imagen"]) ? $_GET["imagen"] : '';
$ancho = isset( $_GET["ancho"]) ? ( intval$_GET["ancho"] ) < $maximoPx ) ? intval$_GET["ancho"] ) : 0;
$alto = isset( $_GET["alto"]) ? ( intval$_GET["alto"] ) < $maximoPx ) ? intval$_GET["alto"] ) : 0;
$calidad = isset( $_GET["calidad"] ) ? ( intval$_GET["calidad"] ) < 100 ) ?  intval$_GET["calidad"] ) : 60 60;

if( 
strlen$imagen ) > ){
    
$extension strtolowersubstrstrrchr$imagen"." ), ) );
    
$extensionJpg = array( 'jpg''jpeg' );
    
$extensionGif = array( 'gif''png' );
    
    if( 
in_array$extension$extensionJpg ) ):
        
$imgSource imagecreatefromjpeg$imagen );
    elseif( 
in_array$extension$extensionGif ) ):
        
$imgSource imagecreatefromgif$imagen );
    else:
        
header"Location: $imagen" );
        exit;
    endif;

    
$anchoOriginal imagesx$imgSource );
    
$altoOriginal imagesy$imgSource );

    if( 
$alto===):
        
$alto = ( $ancho $anchoOriginal ) * $altoOriginal;
        if( 
$alto===):
            
$alto 1;
        endif;
    endif;

    if( 
$ancho===):
        
$ancho = ( $alto $altoOriginal ) * $anchoOriginal;
        if( 
$ancho===):
            
$ancho 1;
        endif;
    endif;


    
#Para GD 2.0.1 o mayor
    
$imgDestino imagecreatetruecolor$ancho$alto ); 
    
imagecopyresampled$imgDestino$imgSource0000$ancho$alto$anchoOriginal$altoOriginal); 

    
#Para versiones anteriores a GD 2.0.1
    #$imgDestino = imagecreate($ancho,$alto); 
    #imagecopyresized($imgDestino, $imgSource, 0, 0, 0, 0, $ancho, $alto, $anchoOriginal, $altoOriginal);

    
header"Content-type: image/jpeg" ); 
    
imagejpeg$imgDestino,''$calidad );
    
imagedestroy$imgSource );
    
imagedestroy$imgDestino );
}
?>
Le faltan unas cosas en cuanto a validaciones, sobre todo con el tema del tipo de imagen, pero funciona en la mayoría de los casos.
este file lo pones en el root, por ejemplo, bajo el nombre de __imagen.php, y luego en donde quieras poner una imagen redimensionada haces:
<img src="__imagen.php?imagen=images/algun.jpg&ancho=80" />

Ojo, este proceso para mi es mejor hacerlo al guardar la imagen, a no ser que no tengas acceso a eso.
__________________
Mi punto de partida es Que Bueno Lo Nuevo