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);
}
?>
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>
¿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
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