Ver Mensaje Individual
  #9 (permalink)  
Antiguo 02/03/2005, 12:26
pintix
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 19 años, 6 meses
Puntos: 7
He puesto una prueba aquí, que puede descargarse completa aquí.

El código para llamarlo es este:
Código PHP:
<map name="nuevomapa">
<?php include('genera_mapa.php'); ?>
</map>
<img src="genera_mapa.php?accion=imagen" alt="" width="200" height="200" border="0" usemap="#nuevomapa" />
El códígo de la página que lo genera es el siguiente:
Código PHP:
<?php
$datos 
= array ();
$datos[] = array(10,10,30,170,"provamap2.php?num=1");
$datos[] = array(34,52,54,170,"provamap2.php?num=2");
$datos[] = array(58,24,78,170,"provamap2.php?num=3");
$datos[] = array(82,70,100,170,"provamap2.php?num=4");
if (
$_GET["accion"] == "imagen"){
    
Header("Content-type: image/png");
    
$image imagecreate(200,200);
    
$back ImageColorAllocate($image,255,255,255);
    
$border ImageColorAllocate($image,0,0,0);
    
$red ImageColorAllocate($image,255,60,75);
    
$fill ImageColorAllocate($image,44,81,150);
    
ImageFilledRectangle($image,0,0,110,110,$back);
    
imageline ($image,8,172,170,172,$border);
    
imageline ($image,8,8,8,172,$border);
    for (
$a 0;$a count($datos);$a++){
        
ImageFilledRectangle($image,$datos[$a][0],$datos[$a][1],$datos[$a][2],$datos[$a][3],$red);
    }
    
imagePNG($image);
    
imagedestroy($image);
} else {
    for (
$a 0;$a count($datos);$a++){
        
$actual $a 1;
        print 
'<area shape="rect" coords="'.$datos[$a][0].','.$datos[$a][1].','.$datos[$a][2].','.$datos[$a][3].'" href="provamap2.php?num='.$actual.'" alt="Ver datos" />'."\n";
    }
}
?>
Si no hay un $_GET['accion'] el programa genera las areas del mapa con la función print, y si hay un $_GET['accion'] igual a 'imagen' genera la imagen, así tienes en el mismo script la generación de las areas y la imagen. En el ejemplo coge las coordenadas y el link del array $datos. Espero que el código se vea claro...