Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2009, 15:09
lerry
(Desactivado)
 
Fecha de Ingreso: enero-2009
Mensajes: 103
Antigüedad: 15 años, 3 meses
Puntos: 0
Dibujo de lineas con php

Hola, para dibujar una linea existe el siguiente codigo:

<?php
$im = @imagecreate(100, 100)
or die("Error creando la imagen");
$fondo = imagecolorallocate($im, 255, 255, 255); // blanco
$linea = imagecolorallocate($im, 0, 0, 0); // negro

// Dibujamos la línea
imageline($im, 10, 10, 90, 90, $linea);

header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>

Bien, yo adapte ese codigo a unas necesidas propias para lo q estoy haciendo
de esta forma:

<?php
$x1=$_GET['x1'];
$y1=$_GET['y1'];
$x2=$_GET['x2'];
$y2=$_GET['y2'];
$radios4=unserialize (urldecode ($_GET ['radi4']));
$col1=0;
$col2=0;
$col3=0;
$im = imagecreate(256,6000) or die("Error creando la imagen");
$fondo = imagecolorallocate($im, 255, 255, 255); // blanco
$linea = imagecolorallocate($im, 255, 120, 30); // negro


/*Dibujando las lineas de Radio-Radio que vienen de los nodos 2do tramo*/

if ($radios4!=0 and $radios4!="")
{
foreach($radios4 as $a => $va1)
{
$y11=80*$a;
$y1=10+$y11;
foreach($va1 as $i => $va2)
{
$resu1=pow($x2,2);
$resu2=pow($a,2);
$resu3=$resu1+$resu2;
$resu4=Sqrt($resu3);
$resu5=round($resu4);

imageline($im,$x1,$y1,$resu5,$y2,$linea);
$y2=$y2+80;
}
}
}

header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);

?>

Ahora en el codigo anterior se me dibujan una serie de lineas correctamente como yo le he adaptado a mis necesidades. Mi pregunta es ¿puedo hacer una conexion a base de datos antes de dibujar la linea para de acuerdo a esa consulta darle un color especifico a la linea?? Yo he intentado cambiando el codigo anterior de esta forma:

<?php
include('../conexion.php');
$x1=$_GET['x1'];
$y1=$_GET['y1'];
$x2=$_GET['x2'];
$y2=$_GET['y2'];
$radios4=unserialize (urldecode ($_GET ['radi4']));
$col1=0;
$col2=0;
$col3=0;
//$conecta=new conexiones();
$im = imagecreate(256,6000) or die("Error creando la imagen");
$fondo = imagecolorallocate($im, 255, 255, 255); // blanco
$linea = imagecolorallocate($im, 255, 120, 30); // negro

/*conexion a la base de datos del servidor principal*/

$host="localhost"; /*servidor*/
$usuario="root"; /*usuario*/
$contraseña="12345"; /*contraseña*/
$nombre_db="bdintra_v1"; /*base de datos*/

$conecta=new conexiones(); /*clase para conexion a la base de datos*/
$conectar=$conecta->conectar($host,$usuario,$contraseña,$nombre_db) ;

/*Dibujando las lineas de Radio-Radio que vienen de los nodos 2do tramo*/

if ($radios4!=0 and $radios4!="")
{
foreach($radios4 as $a => $va1)
{
$y11=80*$a;
$y1=10+$y11;
foreach($va1 as $i => $va2)
{
$resu1=pow($x2,2);
$resu2=pow($a,2);
$resu3=$resu1+$resu2;
$resu4=Sqrt($resu3);
$resu5=round($resu4);

/*Verifico el estatus del enlace antes de pintar la linea para establecer el color del enlace*/

$cadena="SELECT * FROM tx_radios_instalados WHERE corresponsal='$va1' and radiobase='$va2'";
$consulta=$conecta->seleccion($cadena);
$resultado=mysql_fetch_array($consulta);
$status=$resultado['statusenlace'];
if($status=="Planificado")
{
//parametros para pintar la linea de color naranja=>StatusEnlace=>Planificado
$col1=255;
$col2=120;
$col3=30;
}
else if($status=="Operativo")
{
//parametros para pintar la linea de color verde=>StatusEnlace=>Operativo
$col1=0;
$col2=200;
$col3=0;
}
else if($status=="Desincorporado")
{
//parametros para pintar la linea de color negro=>StatusEnlace=>Desincorporado
$col1=0;
$col2=0;
$col3=0;
}
$linea = imagecolorallocate($im, col1, col2, col3); //color de la linea de enlace
imageline($im,$x1,$y1,$resu5,$y2,$linea);
$y2=$y2+80;
}
}
$cerrar=mysql_close($conectar);
}

header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);

?>
Al ejecutar este codigo no se me dibujan las lineas, quiero saber si es posible hacer conexion a base de datos dentro de un archivo php q basicamente es una imagen?? Les agradezco sus ayudas por favor!!