Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2008, 09:10
Avatar de ACX_POISON
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.