wenas! tengo este codigo fuetne que genera una imagen, antes de generarla, debe hacer un seguido de calculos, el problema esque si los hace da un error, si pongo lso calculos en comentario sale laimagen :S, no tentiendo el porque
<?php
$values = "21;43;12;56;28;26;63;26;53;16;34;64;23;82;67;27;83";
$num = 3;
$x = 500;
$y = 300;
//$y_margin = 10;
//$x_margin = 20;
//$array_values = explode(";", $values);
//$n_values = count($array_values);
//echo $n_values;
//
//$division_campos = $n_values;
//$division_campos--;
//echo $division_campos;
//
//$x_active = $x - $x_margin * 2; //460
//$y_active = $y - $y_margin * 2; // 280
//echo $x_active;
//
//echo $y_active;
//
//$space_intercampos = $x_active / $division_campos;
//echo $space_intercampos;
$img = imagecreatetruecolor( $x, $y);
$blue = imagecolorallocate($img,0,0,255);
$white = imagecolorallocate($img, 255, 255, 255);
imagefilledrectangle($img, 0,0, $x, $y, $white);
imageline($img, 0, 0, 500, 300, $blue);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>
ahroa funciona, si quito los comentarios deja de funcionar, el error que da es e l siguiente:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Blitrank\text_grafica.php:11) in C:\xampp\htdocs\Blitrank\text_grafica.php on line 36
que raro :/
un saludo y gracias!
NO tienes que usar la función echo.
Se envia el cuarpo del mensaje http y ya no se pueden enviar cabeceras.
entonces si en nuanp agina normal y correinte quiero poner una imagen creada con gd, como lo hago? :S,
creas un archivo que genera la imagen por ejemplo imagen.php puede recibir parámetro por get y todo.
Luego en tu página lo incluyes como si fuera una imagen normal
<img src="imagen.php?id=20" />
Hace unos minutos estaba en eso y ahora me veo eso, antes a mi me ha ido poniendo el header primero es decir:
<?php
header("Content-type: image/png");
$values = "21;43;12;56;28;26;63;26;53;16;34;64;23;82;67;27;83";
$num = 3;
$x = 500;
$y = 300;
$img = imagecreatetruecolor( $x, $y);
$blue = imagecolorallocate($img,0,0,255);
$white = imagecolorallocate($img, 255, 255, 255);
imagefilledrectangle($img, 0,0, $x, $y, $white);
imageline($img, 0, 0, 500, 300, $blue);
imagepng($img);
imagedestroy($img);
?>
Aunque estaba usando otra función, siento no poderte ayudar más.