PHP - graficas interactivas imagegif con href

   
Vista:

graficas interactivas imagegif con href

Publicado por neto (10 intervenciones) el 19/06/2009 23:21:24
tengo una pagina que me muestra los datos en un diagrama en pastel y quiero que al momento de picarle a una parte del pastel, me mande a otra pagina donde mostrare otros datos. En el ejemplo siguiente (que en realidad mostrara datos de una bd) se muestran 3 pedazos de pastel verde rojo y azul, y quiero que al momento de picarle al pedazo azul me muestre otra pagina con datos de la bd referente a donde se le pico, algo asi como <br>
href presentadatosazules cuando imagefilledarc(azul) <br>
href presentadatosverdes cuando imagefilledarc(verd) <br>
href presentadatosrojos cuando imagefilledarc(rojo) <br>

a continuacion el codigo
<?php
header( "Content-type: image/gif" );
$imagen = imagecreate( 420, 240 );
$bg = imagecolorallocate( $imagen, 245, 245, 245 );
$colorrojo = imagecolorallocate( $imagen, 254, 64, 64 );
$colorverd = imagecolorallocate( $imagen, 64, 254, 64 );
$colorazul = imagecolorallocate( $imagen, 64, 64, 254 );
$cx = 120;
$cy = 120;
$ancho = 200;
$alto = 200;
$inicio = 90;
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 000, 120 , $colorrojo, IMG_ARC_PIE);
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 120, 240 , $colorverd, IMG_ARC_PIE);
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 240, 360 , $colorazul, IMG_ARC_PIE);
imagegif( $imagen );
imagedestroy( $imagen );
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:graficas interactivas imagegif con href

Publicado por neto (10 intervenciones) el 25/06/2009 01:13:50
por si alguien en el futuro entra por aqui, ya funciona de manera particular, pongo aqui el programa en su forma rudimentaria, ya solo falta comprimirlo y hacerlo que funcione para datos genericos, pero pienso que es mejor ponerlo en forma rudimentaria y que cada quien lo comienze a particularizar, me base en 2 paginas muy buenas y en la ayuda del sargento directa del sargento, muchas gracias sargento.
http://www.sargentoweb.com/phpgd/?doc=19
y a pintix que puso un ejemplo con map, que no encuentro la pagina

grafica.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<map name="nuevo_mapa">
<?php include('gener_circu.php'); ?>
</map>
<img src="gener_circu.php?accion=imagen" alt="" width="200" height="200" border="0" usemap="#nuevo_mapa" />
</body>
</html>

gener_circu.php
<?php
$cx = 120;
$cy = 120;
$ancho = 200;
$alto = $ancho;
if ($_GET["accion"] == "imagen"){
Header("Content-type: image/png");
$imagen = imagecreate( 240, 240 );
$bg = imagecolorallocate( $imagen, 245, 245, 245 );
$colorrojo = imagecolorallocate( $imagen, 254, 64, 64 );
$colorverd = imagecolorallocate( $imagen, 64, 254, 64 );
$colorazul = imagecolorallocate( $imagen, 64, 64, 254 );
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 000, 120 , $colorrojo, IMG_ARC_PIE);
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 120, 240 , $colorverd, IMG_ARC_PIE);
imagefilledarc( $imagen, $cx, $cy, $ancho, $alto, 240, 360 , $colorazul, IMG_ARC_PIE);
imagePNG($imagen);
imagedestroy($imagen);
}
else {
$inicio = 0;
$cx=$cx-20;
$cy=$cy-20;
$hipo = 88;
$xulti= $cx;
$yulti= $cy-88;
$values[] = array($cx , $cy ,
$cx+round(cos(deg2rad($inicio))*$hipo) , $cy+round(sin(deg2rad($inicio))*$hipo) ,
$cx+round(cos(deg2rad($inicio+120))*$hipo), $cy+round(sin(deg2rad($inicio+120))*$hipo),
$cx , $cy ,
);
$values[] = array($cx , $cy,
$cx+round(cos(deg2rad($inicio+120))*$hipo), $cy+round(sin(deg2rad($inicio+120))*$hipo),
$cx+round(cos(deg2rad($inicio+240))*$hipo), $cy+round(sin(deg2rad($inicio+240))*$hipo),
$cx , $cy,
);
$values[] = array($cx , $cy,
$cx+round(cos(deg2rad($inicio+240))*$hipo), $cy+round(sin(deg2rad($inicio+240))*$hipo),
$cx+round(cos(deg2rad($inicio+360))*$hipo), $cy+round(sin(deg2rad($inicio+360))*$hipo),
$cx , $cy,
);
for ($a = 0;$a < count($values);$a++){
$actual = $a + 1;
print '<area shape="poly" coords="'.$values[$a][0].','.$values[$a][1].','.$values[$a][2].','.$values[$a][3].','.$values[$a][4].','.$values[$a][5].','.$values[$a][6].','.$values[$a][7].'" href="provamap2.php?num='.$actual.'" alt="Vert datos '.$actual.'" />'." ";
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mas angulos

Publicado por neto (10 intervenciones) el 25/06/2009 01:26:41
se pueden meter mas angulos en cada pedazo para que crezca el area del href, entre mas angulos mas tendera hacia la circunferencia, yo estimo que con 3 angulos mas en cada pedazo del pastel quedaria bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar