Hola otra vez:
Retocando el código del pixelador:
Código:
<html>
<head>
<title>
mapeador
</title>
</head>
<body>
<?php
function hexa($n) {
$digitosHexa = "0123456789ABCDEF";
return $digitosHexa[$n / 16].$digitosHexa[$n % 16];
}
$correcto = true;
if (isset($_GET["color"]))
$color = "$_GET[color]";
else
$color = "FFFFFF";
if (isset($_GET["imagen"])) {
$imagen = $_GET["imagen"];
echo <<< imagen
<img src="$imagen" alt="imagen" usemap="#mapa" />
<map name="mapa" >
imagen;
$img = imagecreatefrompng($imagen);
if ($img) {
$ancho = imagesx($img);
$alto = imagesy($img);
for ($i = 0; $i < $ancho; $i ++)
for ($j = 0; $j < $alto; $j ++) {
$ii = $i + 1; $jj = $j + 1;
$pixelxy = imagecolorat($img, $i, $j);
$rgb = imagecolorsforindex($img, $pixelxy);
$he = hexa($rgb["red"]).hexa($rgb["green"]).hexa($rgb["blue"]);
if ($color == $he)
echo <<< area
<area shape='rect' coords='$i,$j,$ii,$jj' href='#' >
area;
}
}// fin if ($img)
else
$correcto = false;
echo "</map>\n";
}// fin if (isset())
else
$correcto = false;
?>
</body>
</html>
Solo lo probé en local...
Saludos