Foros del Web » Programando para Internet » PHP »

Redimencionar Imagenes

Estas en el tema de Redimencionar Imagenes en el foro de PHP en Foros del Web. Hola amigos e buscado en google y aca en el foro pero no encuentro como redimencionar imagenes, de manera que las pueda redimencionar a 96 ...
  #1 (permalink)  
Antiguo 21/04/2010, 17:24
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Redimencionar Imagenes

Hola amigos e buscado en google y aca en el foro pero no encuentro como redimencionar imagenes, de manera que las pueda redimencionar a 96 * 96 sin que la imagenes verticales se vean apachadas de altura y las horizontales apachadas de largo no se si me explico pero quisiera que quedaran de un alto y ancho igual agradesco desde ya la ayuda.
  #2 (permalink)  
Antiguo 21/04/2010, 17:44
Avatar de JOCKERYN  
Fecha de Ingreso: diciembre-2006
Ubicación: guatemala
Mensajes: 113
Antigüedad: 17 años, 4 meses
Puntos: 1
De acuerdo Respuesta: Redimencionar Imagenes

OK, hay 2 formas de redimencionar imagenes q se me vienen a la mente,
1- Redimencionar solo al mostrar
2.- Redimensionar la imagen realmente.
aunque no siempre se va a lograr la resolucion 96x96 porque las imagenes casi nunca vienen cuadradas. pero se puede hacer que se ajuste a una u otra resolucion.

para redimencionar en el paso uno puedes hacer:

Código HTML:
< img src="ruta/imagen" with="96px" /> 
con esto riges un tamaño de ancho a la imagen y se cuadra automaticamente el alto.

para redimencionar el paso 2:

esta esta funcion que a mi me sirve mucho.

Código PHP:
<?
function cambiartam($nombre,$archivo,$ancho,$alto)
    {
    
$tmp=explode(".",$nombre);
    
$partes=sizeof($tmp);
    
$tmp=$tmp[$partes-1];

    if (
preg_match('/jpg|jpeg|JPG/',$tmp))
        {
        
$imagen=imagecreatefromjpeg($nombre);
        }
    if (
preg_match('/png|PNG/',$tmp))
        {
        
$imagen=imagecreatefrompng($nombre);
        }
    if (
preg_match('/gif|GIF/',$tmp))
        {
        
$imagen=imagecreatefromgif($nombre);
        }

    
$x=imageSX($imagen);
    
$y=imageSY($imagen);

    if (
$x $y
        {
        
$w=$ancho;
        
$h=$y*($alto/$x);
        }

    if (
$x $y
        {
        
$w=$x*($ancho/$y);
        
$h=$alto;
        }

    if (
$x == $y
        {
        
$w=$ancho;
        
$h=$alto;
        }


    
$destino=ImageCreateTrueColor($w,$h);
    
imagecopyresampled($destino,$imagen,0,0,0,0,$w,$h,$x,$y); 


    if (
preg_match("/png/",$tmp))
        {
        
imagepng($destino,$archivo); 
        } 
    if (
preg_match("/gif/",$tmp))
        {
        
imagegif($destino,$archivo);
        }
    else 
        {
        
imagejpeg($destino,$archivo); 
        }

    
imagedestroy($destino); 
    
imagedestroy($imagen); 
}
?>
luego solo la llamas
Código PHP:
<?
cambiartam
("nombre/de/la/imagen""nombre/de/la/imagen"9696);
?>
si te das cuenta se duplica, dos valores en las variables del llamado de la funcion, pero a la 2da le puedes poner otro nombre para que te la escriba con otro nombre, si no dejala como esta, se sobreescribira.

espero haberte ayudado.
__________________
El poder del saber esta en el poder preguntar.
yo

Última edición por JOCKERYN; 21/04/2010 a las 17:53

Etiquetas: imagenes, redimencionar
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 07:19.