Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   JPG & PNG to TEXT (https://forum.antichat.xyz/showthread.php?t=30929)

NOmeR1 10.01.2007 13:44

JPG & PNG to TEXT
 
Вот нашёл у себя в свалке скриптов интересный скрипт :cool: Вообщем, из сабжа всё ясно!
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 (puzanov@gmail.com) 
// special thanks to Andrei Pohilko (apc@kaf-i.kg) 

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$i0000imagesx ($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 /> 
   Отдельное спасибо Андрею Похилько 
   <? 

?>

Если у кого есть новее или лучше, то выкладываем здесь!

devil2007 10.01.2007 22:35

Отлично +

fucker"ok 10.01.2007 23:21

Улыбнуло) Я нечто на паскале делал в детстве (правда из bmp)

NOmeR1 12.01.2007 17:22

Поправил скрипт, теперь он превращает картинку в нолики и символы "_". Смотрится лучше.

blaga 12.01.2007 17:43

Раз так, то вот теперь с цветом, черно-зеленый. Правда вследствии таких изменений, выходной код вырос примерно в 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 (puzanov@gmail.com)
// special thanks to Andrei Pohilko (apc@kaf-i.kg)

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$i0000imagesx ($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 />
   Отдельное спасибо Андрею Похилько
   <?
}
?>


NOmeR1 12.01.2007 17:54

Глупо, потому что каждый символ будет теперь не просто 0, а :
<span style="color: green">0</span>
Имхо, это не нужно.

blaga 12.01.2007 18:21

Именно поэтому я и сказал что он раз в двадцать увеличился.

TTyck 12.01.2007 18:21

Прикольно

j0ze 22.05.2007 09:11

не работаит

Fatal error: Call to undefined function ImageCreateFromJpeg() in D:\www\t.php on line 20

TANZWUT 22.05.2007 09:27

_http://keepers-klan.org/
вот как надо делать, чисто JS ;)


Время: 01:19