Вот нашёл у себя в свалке скриптов интересный скрипт Вообщем, из сабжа всё ясно! PHP: <?php define ('TITLE', 'Картинки и Джорж Буль'); # http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Boole.html # http//www.boutell.com/gd/ ?> <b>Картинки, PHP, GD и Джорж Буль.</b> <br /> <u>Превращаем растровое изображение в нолики и единички.</u> <!--2--><!-- preamble --> <br /> <br /> <br /> <?php // created by Oleg Puzanov ([email protected]) // special thanks to Andrei Pohilko ([email protected]) if (isset ($_FILES['pic'])) { $file=$_FILES['pic']['tmp_name']; if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file); elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file); else die ("Невозможно обработать изображение в формате GIF"); $o = ImageCreate(imagesx($i), imagesy($i)); for ($n = 0; $n < 256; $n++) { imagecolorallocate($o, $n, $n, $n); } imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i)); $lim = 256/2; echo '<pre style="font-size: 8px; letter-spacing: 0px; line-height: 80%;">'; for ($y = 0; $y < imagesy ($o); $y++) { for ($x = 0; $x < imagesx ($o); $x++) { if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo _; else echo 0; } echo "\n"; } echo '</pre>'; } else { ?> <form enctype='multipart/form-data' method='POST'> Картинки форматов JPG и PNG успешно превратятся в "двоичный" текст <br /> <br /> Можно нарисовать чего-нибудь прикольное, "отдвоичить" и пихать как подпись к e-mail <br /> <br /> Учтите, что чем больше картинка, тем дольше будете ждать. Оптимальный размер 100 на 100 пикселей <br /> <input type='file' name='pic'> <br /> <input type='submit' value=' Превратить! '> </form> <br /> <br /> Идея и разработка программы: Олег Пузанов<br /> Отдельное спасибо Андрею Похилько <? } ?> Если у кого есть новее или лучше, то выкладываем здесь!
Раз так, то вот теперь с цветом, черно-зеленый. Правда вследствии таких изменений, выходной код вырос примерно в 20 раз(в весе) PHP: <?php Error_Reporting(7); define ('TITLE', 'Картинки и Джорж Буль'); # http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Boole.html # http//www.boutell.com/gd/ ?> <b>Картинки, PHP, GD и Джорж Буль.</b> <br /> <u>Превращаем растровое изображение в нолики и единички.</u> <!--2--><!-- preamble --> <br /> <br /> <br /> <?php // created by Oleg Puzanov ([email protected]) // special thanks to Andrei Pohilko ([email protected]) if (isset ($_FILES['pic'])) { $file=$_FILES['pic']['tmp_name']; if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file); elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file); else die ("Невозможно обработать изображение в формате GIF"); $o = ImageCreate(imagesx($i), imagesy($i)); for ($n = 0; $n < 256; $n++) { imagecolorallocate($o, $n, $n, $n); } imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i)); $lim = 256/2; echo '<pre style="font-size: 6px; letter-spacing: 0px; line-height: 80%;">'; for ($y = 0; $y < imagesy ($o); $y++) { for ($x = 0; $x < imagesx ($o); $x++) { if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo 1; else echo "<span style=\"color: green\">0</span>"; } echo "\n"; } echo '</pre>'; } else { ?> <form enctype='multipart/form-data' method='POST'> Картинки форматов JPG и PNG успешно превратятся в "двоичный" текст <br /> <br /> Можно нарисовать чего-нибудь прикольное, "отдвоичить" и пихать как подпись к e-mail <br /> <br /> Учтите, что чем больше картинка, тем дольше будете ждать. Оптимальный размер 100 на 100 пикселей <br /> <input type='file' name='pic'> <br /> <input type='submit' value=' Превратить! '> </form> <br /> <br /> Идея и разработка программы: Олег Пузанов<br /> Отдельное спасибо Андрею Похилько <? } ?>
Глупо, потому что каждый символ будет теперь не просто 0, а : <span style="color: green">0</span> Имхо, это не нужно.
Хы. Темка старая, но полезная. Добавил античатовский стиль. PHP: <meta Content-type: text/plain; charset=windows-1251> <html> <head> <style> body{ padding:10px; background:#2A2E33; font-family:tahoma, verdana, arial; font-size:11px; text-align:center; color:#B9B9BD; } form{ padding:10px; border:1px solid #666; width:300px; margin:0 auto; } input{ vertical-align:middle; margin:1px 0; padding-right:10px; border:1px solid #336600; padding:2px; background:#363940; color:#B9B9BD; } </style> <?php define ('TITLE', 'JPG & PNG to TEXT'); ?> <title>JPG & PNG to TEXT</title> </head> <center><h1>JPG & PNG to TEXT</h1></center> <?php if (isset ($_FILES['pic'])) { $file=$_FILES['pic']['tmp_name']; if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file); elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file); else die ("Формат может быть только JPG и PNG. <img src='http://forum.antichat.ru/images/smilies/wink.gif'>"); $o = ImageCreate(imagesx($i), imagesy($i)); for ($n = 0; $n < 256; $n++) { imagecolorallocate($o, $n, $n, $n); } imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i)); $lim = 256/2; echo '<pre style="font-size: 8px; letter-spacing: 0px; line-height: 80%;">'; for ($y = 0; $y < imagesy ($o); $y++) { for ($x = 0; $x < imagesx ($o); $x++) { if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo _; else echo 0; } echo "\n"; } echo('<br><img src="http://forum.antichat.ru/images/smilies/rolleyes.gif"></pre>'); } else { ?> <form enctype='multipart/form-data' method='POST'> <input type='file' name='pic'><br><br> <input type='submit' value='Compile to TEXT'> </form> <? } ?>