Foros del Web » Programando para Internet » PHP »

Problema al Redimencionar imagen

Estas en el tema de Problema al Redimencionar imagen en el foro de PHP en Foros del Web. gracias X leerlo Amigos soy nuevo utilizando funciones de la libreria GD de php, pero estoy intentando crear una funcion que me entrege una imagen ...
  #1 (permalink)  
Antiguo 14/10/2008, 09:10
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Pregunta Problema al Redimencionar imagen

gracias X leerlo

Amigos soy nuevo utilizando funciones de la libreria GD de php, pero estoy intentando crear una funcion que me entrege una imagen redimencionada, enviando le como parametro la ruta, alto, ancho.
Viendo algunos ejemplo (del foro)e llegado a algo como esto:
redimenciona_img.php
Código PHP:
<? 
function Redimenciona_img($ruta,$X=100,$Y=75)
{
    
//echo"Ruta: $ruta<br>";
    //echo"X: $X<br>";
    //echo"Y: $Y<br>";
    //header("Content-type: image/jpeg");
    // mediante header identifico que con que imagen estoy trabajando
    
$extencion=strtolower(end(explode(".",$ruta)));
    switch (
$extencion)
    {
        case 
"jpg":
            
header("Content-type: image/jpeg");
        break;
        case 
"gif":
            
header("Content-type: image/gif");
        break;
        case 
"png":
            
header("Content-type: image/png");
        break;
        
    }
    
//creo una copia del original a la variable $imsrc mediante la variable que pase $ruta
    
$imsrc imagecreatefromjpeg($ruta);
    
//extraigo las medidas del original en las variables $an y $al mediante las     funciones imagesx y imagesy
    
$an imagesx($imsrc);
    
$al imagesy($imsrc);
    
//creo la estructura de la imagen nueva como variable $imagen y con las variables     que pase; $altura y $ancho
    
$imagen imagecreatetruecolor($X,$Y);
    
//copia la imagen creada en la estructura
    
imagecopyresized($imagen,$imsrc,0,0,0,0,$X,$Y,$an,$al);
    
//lo envio al navegador y luego livero la memoria
    
switch ($extencion)
    {
        case 
"jpg":
            
imagejpeg($imagen);
        break;
        case 
"gif":
            
imagegif($imagen);
        break;
        case 
"png":
            
imagepng($imagen);
        break;
    }
    
imagedestroy($imagen);
}    
?>
ver.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>vista de imagen</title>
</head>

<body>
<? include("redimenciona_img.php")?>
<img src=<?php Redimenciona_img("../galeria/img/acx(2).jpg")?>  />
</body>
</html>
sin embargo no funciona correctamente muestra el error que el header no puede ser modificado y muestra una serie de caracteres extraños que seguramente representan la imagen

¿ALguien sabe como solucionar esto o tiene alguna mejor funcion?
Cita:
PD: este es el error que muestra:
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\pruebas_php\varios\vista_img.php:9) in C:\AppServ\www\pruebas_php\varios\redimenciona_img .php on line 14
__________________
Me junto con los que Saben, Queriendo Saber.
  #2 (permalink)  
Antiguo 14/10/2008, 09:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema al Redimencionar imagen

Hola ACX_POISON,

Si te fijas por el foro puedes ver que el problema se debe a que estas tratando de imprimir la representación de bytes directamente en la etiqueta, necesitas crear un script gateway donde le pases los parametros por ejemplo:
Código html:
Ver original
  1. <img src="redimensiona.php?archivo=acx(2).jpg">

Luego en redimensiona:
Código php:
Ver original
  1. <?php
  2. include("redimenciona_img.php");
  3. Redimenciona_img($_GET['archivo']);
  4. ?>

Saludos.
  #3 (permalink)  
Antiguo 14/10/2008, 09:42
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Problema al Redimencionar imagen

Perfecto GatorV me funciono perfectamente, te lo agradesco
__________________
Me junto con los que Saben, Queriendo Saber.
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 01:40.