Hola donpincho:
Había un mensaje donde puse el código para leer pixeles de una imagen y generar tags para mastrarla... no encontré el mensaje, pero la página es esta:
http://www.pepemolina.com/mapas/pixe...l.png&escala=1
El código es el que sigue:
Código:
<html>
<head>
<style type="text/css">
<?php
function hexa($n) {
$digitosHexa = "0123456789ABCDEF";
return $digitosHexa[$n / 16].$digitosHexa[$n % 16];
}
$correcto = true;
if (isset($_GET["imagen"])) {
$imagen = $_GET["imagen"];
if (isset($_GET["escala"])) $escala = $_GET["escala"];
else $escala = 1;
echo "div\t{position: absolute; width: $escala"."px; height: $escala"."px;}\r";
$img = imagecreatefrompng($imagen);
if ($img) {
$ancho = imagesx($img);
$alto = imagesy($img);
for ($i = 0; $i < $ancho; $i ++)
for ($j = 0; $j < $alto; $j ++) {
$pixelxy = imagecolorat($img, $i, $j);
$rgb = imagecolorsforindex($img, $pixelxy);
echo "#pixel_".$i."_$j {background-color: #"
.hexa($rgb["red"])
.hexa($rgb["green"])
.hexa($rgb["blue"])
."; left: ".($i * $escala)
."; top: ".($j * $escala).";}\r";
}
}// fin if ($img)
else
$correcto = false;
}// fin if (isset())
else
$correcto = false;
?>
</style>
</head>
<body>
<?php
if ($correcto)
for ($i = 0; $i < $ancho; $i ++)
for ($j = 0; $j < $alto; $j ++)
echo "<div id='pixel_".$i."_$j' ></div>\r";
?>
</body>
</html>
Se lee con imagecolorat, y luego hay que decodificarlo.
Espero que te sirva.
Saludos