Foros del Web » Programando para Internet » PHP »

Problema cambiando tamaño de imagen

Estas en el tema de Problema cambiando tamaño de imagen en el foro de PHP en Foros del Web. Estimados amigos: Estoy haciendo una pequeña página en PHP que recibirá como parámetro el nombre de una imagen (supongamos "1.jpg"), y la mostrará cambiando su ...
  #1 (permalink)  
Antiguo 31/10/2005, 08:15
 
Fecha de Ingreso: marzo-2003
Ubicación: Chivilcoy
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema cambiando tamaño de imagen

Estimados amigos:
Estoy haciendo una pequeña página en PHP que recibirá como parámetro el nombre de una imagen (supongamos "1.jpg"), y la mostrará cambiando su tamaño para evitar que sea más grande que la pantalla.
El código que estoy usando es el siguiente:
Código PHP:
<?
    $img 
imagecreatefromjpeg($imagen); 
    
$picsize 408
    
$new_w imagesx($img); 
    
$new_h imagesy($img); 
    
$aspect_ratio $new_h $new_w
    if(
imagesx($img)>imagesy($img)){
        
$new_w $picsize
        
$new_h abs($new_w $aspect_ratio); 
    } else {
        
$new_h $picsize
        
$new_w abs($new_h $aspect_ratio); 
    }
    
$dst_img imagecreate($new_w,$new_h); 
    
imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 
    
imagejpeg($dst_img,'',100); 

?>
Todo funciona perfecto, salvo que en vez de mostrarme la imagen con su nuevo tamaño, me muestra el código fuente de la misma, como se puede observar en la imagen de abajo:

Alguien podría decirme qué estoy haciendo mal?
Aclaro que el directorio tiene permisos 777
Saludos y gracias de antemano
__________________
Leandro Mandarano
Cyper Developments
http://www.cyper.com.ar
  #2 (permalink)  
Antiguo 31/10/2005, 08:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. como ejecuas ese código ..

Dicho código ha de ser ejecutado -aislado- .. sin nada más de HTML que lo "adorne" ..

La llamada ha de ser bajo un tag de imagen en -otra- página HTML cualquiera:

<img src="crea_imagen.php">

Un saludo,
  #3 (permalink)  
Antiguo 31/10/2005, 09:37
 
Fecha de Ingreso: marzo-2003
Ubicación: Chivilcoy
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Cluster, gracias por tu pronta respuesta. He seguido tus indicaciones y he creado otra página que contiene un tag img con el siguiente código <img src="foto.php?imagen=foto1.jpg">
El tema es que no me muestra la imagen, sino que pone el cuadro con la X roja como si la imagen no existiera.
Si pruebo de abrir directamente foto.php?imagen=foto1.jpg me muestra el código de la imagen.
A qué se puede deber este error en la página que llama a foto.php?
Saludos y gracias
__________________
Leandro Mandarano
Cyper Developments
http://www.cyper.com.ar

Última edición por Neoxs; 31/10/2005 a las 09:43
  #4 (permalink)  
Antiguo 31/10/2005, 09:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. es ese el código -completo- que usas? ...

Te falta algún header() (www.php.net/header) de tipo "Content-type" para indicar el tipo de imagen que estás generando .. Revisa los ejemplos de PHP.net sobre uso de GD:

www.php.net/gd

Un saludo,
  #5 (permalink)  
Antiguo 31/10/2005, 10:06
 
Fecha de Ingreso: marzo-2003
Ubicación: Chivilcoy
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Cluster: Gracias, me estaba faltando el header. Ahora me ha surgido el problema que me muestra la imagen en blanco y negro. Cómo puedo hacer para mostarla en color?
saludos
__________________
Leandro Mandarano
Cyper Developments
http://www.cyper.com.ar
  #6 (permalink)  
Antiguo 31/10/2005, 10:08
 
Fecha de Ingreso: marzo-2003
Ubicación: Chivilcoy
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Ya lo he solucionado, gracias. Cambié la linea que decía "$dst_img = imagecreate($new_w, $new_h);" por esta:
"$dst_img = imagecreatetruecolor($new_w, $new_h);"
Gracias por la ayuda
__________________
Leandro Mandarano
Cyper Developments
http://www.cyper.com.ar
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 19:09.