Una imagen de 4.096×4.096 tiene 16.777.216 píxels. El número de colores RGB representables con 8 bits por componente (24 bits por color) es de 16.777.216. Esto quiere decir que en una imagen de 4.096×4.096 caben exactamente todos los colores posibles RGB de 24 bits.
Hay muchas maneras de distribuir los colores en la imagen. Esta es una, aunque está reducida y por tanto le faltan colores, pero enlaza a la verdadera de 4096×4096:
Aquí el programa PHP que la genera en formato TGA (la que hay para descarga ha sido convertida después a PNG con GIMP):
<?php $tgahdr = "\0\0\2\0\0\0\0\0\0\0\0\0\x00\x10\x00\x10\x18\40"; $f = fopen($argv[1], "wb"); fwrite($f, $tgahdr); for ($gl = 0; $gl < 16; $gl++) for ($r = 0; $r < 256; $r++) { $r2 = ($gl & 1) == 0 ? $r : 255-$r; $line = ""; for ($gh = 0; $gh < 256; $gh += 16) for ($b = 0; $b < 256; $b++) { $b2 = ($gh & 16) == 0 ? $b : 255-$b; $line .= chr($b2) . chr($gh+$gl) . chr($r2); } fwrite($f, $line); } fclose($f); ?>
No comments:
Post a Comment