Pull to refresh

Comments 30

Вышеупомянутое «интересное изображение (1,1 Мб)», которое стало для Вас побудительною причиною — это на самом деле не ASCII-арт, потому что в нём можно обнаружить сразу несколько десятков символов, закрашенных не ровным цветом, а двумя разными цветами с криволинейною границею между ними. Следовательно, кто-то просто взял картинку и наложил на неё в Фотошопе текст, используя этот текст как маску яркости — и не более того, не более!…
Вот с этого все и началось. Этот арт, как я понял, делается путем наложения цветной картинки на слой со шрифтом в фотошопе. А это приложение рисует именно цветными буквами.
И меня “зацепила” идея рисовать изображения разноцветными буквами. Порывшись в интернете узнал, что это называется ASCII-art.
Т.е. ASCII-art — рисовать изображения разноцветными буквами.
Ваше-то приложение делает именно ASCII-арт, так что против него я ничего не говорю.
Точнее, в строгом смысле слова — не ASCII-арт, а ANSI art, потому что символы разного цвета, а не просто разной формы.

Но иногда это последнее понятие рассматривается как подмножество первого.
А ещё более безумной штукой является генерация grayscale изображение не меняя цвет символов, только за счёт плотности графики в самих символах.
Я об этом думал. Это будет следующим шагом.
Лучше комбинируйте. Т.е. тон задаётся цветом символа, а яркость — плотностью. Для заранее заданного шрифта можно даже заранее выстроить символы в порядке увеличения плотности. Должно быть несложно.
да в общем-то и у автора — это скорее «рисование разноцветными буквами» (обратите внимание, что используется «HABR», «G» )
ASCII-art — это скорее использование *различных* символов из множества ASCII-7bit
которые за счет разной «плотности» и формы создают (если смотреть издалека) некое полутоновое изображение
Для меня ASCII-арт это когда изображение формируется с помощью самих символов, причем, возможно, даже без цвета. А у вас символы — только носители цвета, так сказать, «большие пикселы».

Вот один из последних попавшихся мне примеров ASCII-арта:
techblog.willshouse.com/wp-content/uploads/2012/12/end-of-user-configuration-here-be-dragons.jpg

Было бы действительно круто, если бы вы реализовали настоящий (в моих терминах) генератор. А таких как этот генератор — уже давным-давно пруд-пруди.

P.S. Специально слазил в Википедию, убедился, что мое мнение не совпадает с тем, что написано в ней.
Когда-то давно я пытался сделать генератор ASCII-арта из двухцветных картинок путем разбиения последних на прямоугольники и анализа схожести каждого прямоугольника с каждым символом из таблицы. Ничего хорошего из этого не вышло, хотя издали такая картинка была и узнаваема. В настоящем ASCII-арте используются не столько свойства растровых изображений, сколько степень похожести символов на какие-то детали рисунка, вроде того, как ")>)>)>" похоже на чешую, а "@ @" — на глаза. Поэтому нормальный генератор вряд ли будет написан когда-нибудь.
Зависит от размера шрифта. Если те же глаза имеют высоту в 10-15 строчек, то неплохо работающих генераторов, использующих плотность цвета, уже в достатке.
Только не всем такой ASCII Art по нраву. Души в нём уже нет.
Вот это — ASCII-арт:

ASCII Art
                              ccc  c  c  ccc
                               $   $cc$  $==
                               $   $  $  $cc
=ccr=    ========================================================  _,r====c,
 )$F     =cc= ,z=""?b, `$c.     3$"    "$$" "$P" "3$" "$c,    "$" cP"     `$
 )$F      $$ zP      ?b $F?b,   3$      $$,/"     3$   $"?c,   $ z$
 )$F      $$<$F       $>$F  ?b, 3$      $$C       3$   $  "?c  $ $$     ,,,,
 )$F      $$ ?b      z$'$F   `?bJ$      $$`"c,    3$   $    "?c$ `$L      $$
,J$L,,,c" $$  "b,..,cP' $L     `?P      $$   ?b,  3$   $      "$  `?c,,.,,P"
`""""""' `""'   """"   `""      `'     """"  """ `""' """      "    `"""""
                               . , ,
                            \,c$$P??i?=,
                    ,d$$"zd$$PF?i<$$$i$$$$c
                    $$$"d$$$Lh$?CJ$$$$$$$$$$c
                    `$'cc`$$$$$$$$$$$$$$$$$$$r.,
                     F`,,"?$$$$$$$P",ccc"$$$$$ $$$$c
                    ,'/"`"J$$$$$$",;,,"$L?$$$$`$$$$$
                   .$b,_,c$$$$$$'/"`?$c $ $$$FJ$$$$"
                   )$$P:-`?????'.    ?".? "",,`"?"
                .,."$$$$c,,,,,c$$$bcc-,z$$$$$$$$,
            ,c$$$$$$c`?$$????$$$$$$",$$$$$$$$$P",
          ,$$$$$$$$$$$,";chhc;$F"`"<c,"??"',cc,$$
          `$$$$$$$$$$$$ ?$$$$$ ,!!!<$"d$$>$$$$>P"
          4,"?$$$$$$P""d ,,"""".'''."-3$$L<$$F,;!
          `$$`cccc,<$$$'J$$$$ !!!!!!!'---->;;!!
            "-$$$$P`??",$$$$$P';;;;!!!!!!!!!!!
            <>;;;;<!!',$$$$$$L'!!!!'''''<!!!!!
             ((,;;;!:<$$$$$$$$$c;;;!!!!!!!!!!!
            `!!''''' d$$$$$$$$??cccc ccccc`!!!>
             ::!!!! $$$$$$",cchhhc`"J$$$$$ !!!!;
 z4$ $e   ,ccc,``',d,c cb-,"?$$$$$$c`$$$$$ <!!!!>
$$4$L"??, 4$$$$$.i? $$'$P,$$,?$$$$$$$$$$$F  `!!!!!
)P.,c$$$c?c"$$$FJ$,b`P-?,$$P" $$$$$$$$$$$     ``'!!!,
".$$$$$$$,"c?$$F<$$ cd$$$c c$>$$$$$$$$$$P        `<!!!;,
  "$$$$$$$ $ $$$<$$,?$$$$$;?$b?$$$$$$$$$'          `!!!!>
    "$$$$$ $ $$$.?$$,?$$$$F<$$<$$$$$$$$F             `!!!!!;,
     `$$$$,$ $$$>,"?? $$$$F<$$<$$$$$$F                `!!!!!!>;,
      ?$$$ $P"  `!!!!>?$$$>d$P<$$P"                     <!!!!!!!>;,
       "$"."     `!!!>`$$$,$$',ccr"                      `!!!!!!!!!!!>,
                  !!!;<$$'dF  $$F                          <!!!!!!!!!!!!;
                  !!!!,` "    $F                            `!!!!!!!!!!!!!;
                  !!!!!!!>    $                              `<!!!!!!!!!!!!!
                  !!!!!!!!    `             ..nnnMMhnnr.dz.- !><!!!!!!!!!!!'
                  !!!!!!!!!                )MP"',,`"?'.,,,.  !!,!!!!!!!!!!>`
                 <!!!!!!!!!!,           .nMMM.$$$$$hh$$$$$$$ !!!!!!!!!!(`!!>
                  ,!!!!!!!!!!>         nMMMMM'?``))"$"``))`?>!!!!!!!!!!!'  <
                   ,,!!!!!!!!!!,       """MMMP:-=<))<.,,J;): !!!!!!!!!!
                    ``'!!!!!!!!!! .     ,r"',c$c=:::,,`""=: ;!!!!!!!!',
                        `<!!!!!!!> "MMMMf<$$P""--,c$$$$$$$$F!!!!!!!!!;MMn,
                          `'!!!!`.MMMMMP .:,cF:: $$$$$$$$$$"!!!!!!!! MMMMM,
                            ``!  .MMMM c.::':::: $$$$??$$P' !!!!!!!'4MMMML"
                              `'JMMM",c'`:',c`:',$$$",dr"xP,!!!!!!!,MMMMMM>
                               .MMM"c$F,d$$$bc$$P",c$$"dMM !!!!!!! dMMMM4Mb
                                M>.""" $$$$$$P",c$$$$F,MMP,!!!!!!!,MMMMM  "
                                "M,?$$$ccccccP??",nnnMMMM !!!!!!!>dMMMMM>
                                 )Mn`???????,dMMMMMMMMMP <!!!!!!!'MMMMMMM
                                 MMMMbbnMMMMMMMMMMMMMMM !!!!!!!!! MMMMMMM
                               dMMMMMMMMMMMMMMMMMMMMMM <!!!!!!!!'JMMMMM>4
                              4MMMMMMMMMMMMMMMMMMMMMMM,!!!!!!!!! MMMMMMf
                              `MMM"MMMMMMMMMMMMMMMMM"'!!!!!!!!!!,MMMMM'
                               MM' MMMMMMMMMMMMMMP,u;';!!!!!!!',MMMP)\
                               MM  )MMMMMMMMMMP,"JMM'!!!!!!!! d4MM\ '
                              ,M'  ' 4MMM MMf4 MMMMM'!!!!!!!> F4M"
                              '      `MM'i`M ,dMMMMM !!!!!!!!.F"
                                     d`P,M,>dMMMMMMM !!!!!!!!:F
                                     4bnMMMMMMMMMMMMb`!!!!!!!<F
                                     `MMMMMMMMMMMMMMMb`!!!!!!`$
                                      "MMMMMMMMMMMMMMM,`!!!!! $,
                                       4MMMMMMMMMMMMMMM,<!!!!>"$
                                        `TMMMMMMMMMMMMMMx`<!!!,"b
                                          `4MMMMMMMMMMMMMMx`!!!,`b
                                            "TMMMMMMMMMMMMMMn`<!,"?,
                                               "T4MMMMMMMMMMMMx`<!,??>
                                                  `"4MMMMMMMMMMM.<!!>>\,
                                                       "4MMMMMMMM.`!!!!,"-
                                                          "TMMMMMMr`!!!!!!>:
                                                        ,4 `."MMMMM.`!!!!!!!
                                                       JP `LTMrTMMMMx`!!!!!!
                                                      z":!>` 4MMMMMMM.`!!!!!
                                                    ,P":!!!!, 4MMMMMML)`!!!!
                                ..,,,,..           z".!!!!!!!, 4MMMMMM`L`!!!
                        .,xxxdXXXXXXXXXXXXXXxxx,,..' !!!!!',z'         $'!!!
                    .xJXXXXYYYYYYYYYYYYXXXXXXXXXXXXXXhxx,.'            ' !!!
              .xxXXYYYYY))))>iiiiiiiii<<<(YYYYYYYXXXXXXXXXXXXXXxx,      b`!!
         ..xJXYYCLxxxXXXYYYYYYYXXXXXXXXXXXXXXxx;((('YYYYYXXXXXXXXXXXXxxx, `!
       xXYYY>>YYYY)Ciiiiiiiiiiiiii111<<<<<<YYYYXXXXXXxxx)<YYYYYXXXXXXXXXXXXX
     :XYXYYYYYYY>>>>>>>)))))<CCYYXXXXXXXXhhiii1<>xxdXXXXXXXXXXXX>ii)<YYYYXXX
     YYYYYY((((>ii()>>>>>>(<<<<<==-<<<<YYXXXXXXxi;1'))<(<YXXXXXXXXXXXXXii)<Y
    ;YY((>>>,==>'>;>>>'''````::;;;;;;;;;1<<<<<YYXXXXXxxi;/('YXXXXXXXXXXXXXXX
   (Y>)>;>'-.'    _,,,z=====;c;,__  ```<<<((iiii('YYYXXXXXXXxxxx('YXXXXXXXXX
   (;>'.`-  ,zcc="::::::::::::::::::"v,    ``<((((((;(('YYXXXXXXXXXx/((YYXXX
  `((.`  ,r="::::::::::::::::::::::::::'=v,    `<<(;;;;(YYXXXXXXXXXXXXXXX>ii
    `( ,J:::::::::::::::::::::::::::::::::::":=,_   ```<<>;(('<<<YYXXXXXXXXX
      .::::::::::::::::;,r==~~"''''~=;;x`;;:::::::t,_      '''<<((>;'<<XXXXX
       `::::::::::';r=~.`.`.`.`.`.`.`.`.`."~=-x,`;::::\v,_   .    ''(;/<<<XX
         `:::::r;=".`.`.`.`. .`.`.`.`.`.`.`.`.`.".=_;::::::?=,,_  ^- '<(;;;<
          ``::/.`.`.`.`.`.`.`.`.`.`.`. .`.`.`.`.`.`.".=;:::::::::\r,_   '<<;
            `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`."=,;::::::::::\z,_
              `.`.`.`,`.`.`.`.`. .`.`.`.`.`.`.`.`.`.`.`.`.`."~;_;::::::::::7
                `.`;^.`.`.`.`.`.`.`.`.`.`.`.`. .`.`.`.`.`.`.`.`.",```:::::::
                  `;`. .`.`.` `.`.`     `. . .`.`.    `.`.`. .` `.`.`">+u..
                    `-,,  ` `. . .`.`.`.`.`.,,z-r~"":~::--'""-=-+n;,,_. .`."
                        '.`.`.`. .`.`.`..r+" . . .  `.`. . . . .`   .."~=n;_
                           .`. .` `. r="". . .  `. . .`.`.`.`.`.`.`.`.`.
                              `.` .r". . . .`. . . .   .`.`.`    .`.`.  `.`.
                                . :( .` `.`.`.  `  . .                 . .
                                  <:.  . .  `  . .`. .   . .       . . . .`.
                                  `` . .  `. . .`.  `  . . . . . . . . .`.`
                                      `. . .   .  `. . . .   ` _  ....     .
                                         . .`    . . .`.;f`":"`..`"`  `"""~-
                                          .. ..  . . ,(" '.
                                             .. ... .f  `.   . .`.`.`.`.`.`.
                                              .:`. .(  .   .`.`.`         `
                                                  `.:)`  .`.`        . .
                                                    ';  `.`    . .`.` ` ` `
                                                      ` `.   .` `        . .
                                                        `. .`    . .`.`.`.`.
                                                           . .`.` `
                                                             .`  .   .   - ,
                                                                .. .   :`-``
                                                                  ` . `,`  .
                                                                     `.  .`.
                                                                         . .
                                                                           .

ASCII Art
                        ,zcc??$hccc,
                     ,J?;;;i$$$$$$$$$$$h..
                   <$;;;;;;;;??$$??????$$$h
                  .$;C;;;;h;;;;;;;iiiii;;?$$c
                  $;$;;;;$};;;;J$$$$$$$$$i?$$$c
                  $;$$ii$$$;;$$$$$$$$$$$$$;9h?$$r
                  $;$$$$$$$J$$$$$$$$$$$?$9;;C;$$$L
                  $;$$$$$$$$$$P"   "$??;;9;;C;?C?$h
$$$$$$C.           $9$$$$$$$$F      $;;;;$;9C;;C;$$
;;$$$$$$$.          `$$$$$$$$$      J;;;;C;J;;??;$$L
;;;;$$$$$$h            "$$$$$$$c,c ,c;;;?;i?;;;;;$$F
;;;;;?$$$$$L        $??c, "?$$$$$".$;;;;i?;;;;;;;$$
;;;;;;i?$$$$L       `?. `h     ,c??;;;i?;i$;i$;;;$'
;;;;;;9C9h;9$.    ...,Jh,c$J???;;;;iJ$$$$$$$$$$$P
;;;;?h;$;?;;$h$???;iiiii;;;;iJ$$$$$$$$$$$$$$$P"
;;;;;?h;$;;$?;iJ$$$$$$$$$$$$$$$$$??;;;iii???$c,
;;;;;;9i9$?;i$$$$$$$$$$" "?$$?;;;;iJ"         `"c
;;;;;;;$?;;$$$$?i$$$$?$$$c   "hi$"               "=,_
;;;;;;J?;;;;?$i??J$;$$$$$;?$.        ....           `?._
;;;i;9F;;;;;$J?;$C;9$??$;;$  ". ;;;;iii??h;;           "c,
;?$$$C;;;;;;;;;;?;;$;;;$;9cccc????""      "h;;            "c
$;9$$;$C;;i;;;;;;;;;;;?$;?F                `?;;,            "=,_
$$9$$$$$i$C;;;;;;;;;;;;?h;$                  `?;;,             "h.
$$9$$$$$$$Jh;;t$$$h;;;;;$;;$                   `h;;,              "=,_
$$J$$$$$$$$?;;9$$$$$;;;;$h;;$                    ?;;;,               `?c_
$?$$$$$$$$$;;;$$$$$$$;$;$$h;;$                    `h;;;,                "h.
$$$$$$$$$$$;;;$$$$$$$;$;$$$C;;$                     ?;;;,                 `
"?$$$$$$$$$?$;?$$$$$$h$C$$$$;;9                      `L;;,
   "$$$$$$$;$;;$$$$$$h$$$$$$$;?)                       `L;;,
      "$$$$h$$;$$$$$$$$$$$$$$)3)                         ?;;;,
        ?$$$$$;$$$$$$$$$$?$$$;J                           ?q;;;,
         `$$$$h$$$$$$$$$$;$$$;P                             ?;;;;,
           `$$$$$$$$$$????$$$9F                              `?y;;;;,
             ?$$$$$"        `$$C                                `"$;`.`'
              "$$"   ,$$$$F  "$$$$P""h                           .$
               $F   ;$F ,$?$.       $JL                         z"
;.   .`.       ?$   $F  $;J5$"    ??",c$h        ,c$????c.     J"
r.`  .`.`     `.$h  "   $5JF        J5P$$$r    j?;;;;;;;;?c   JF
$h`.`.`.`.`.`.`.$$h    ?""          $$6J" 3r ;$i$$$h;;;;;;9. zF
$$h.`.`.`.`.`.`.?$$$.              <$"     ?$$$$$$$$?L;;;;;$JF
$$$.`.`.`.`.`.`.`$$$$c                     Ji$$$$$$$$h;;;;;$
$$$.`.`.`.`.`.`.`$$$$$$.                 J?;;J$$$$$$$$$h;;;$              ;
$$$)`.`.`.`.`.`.`3$$$$$$.              J?;;;i$$$$?;;;$$$;;;$             ;t
$$$h`.`.`.`.`.`.`?h;;$$$$C          ,J?;;;;$$$$?;;;;;$$$$9$$F           ;;P
$$$$`.`.`.`.`.`.`.$h;$$$?$L       ;$?;;;;;$$h;;?$ii$$$$$$?$$$         .;;F
$$$$`.`.`.`.`.`.`.$$$$$$i$$ `.`.`J?;;;;;;$$$$$$h;?$$$$$$$;$$$        ,;9"
$$$$`.`.`.`.`.`.`.$$$$$$$$$`.,c??;;;'  ;J$$$$$$$$;?$$$$?;;$$$       ,;J'
?$$$`.`.`.`.`.`.`.$$$$$$$$$??;;::'    `;$$$?$$$$$$;?$$$$$$$$       ;;$'
9$$$`.`.`.`.`.`.`.?$$$$$$P            `;$$$;;$$$$$$i$$$$$$$"      ;;P
$$$$`.`.`.`.`.`.`.`$$$$$$             `;$$$h;;$$$$$$$$$$$P      ,;;P
?$$$`.`.`.`.`.`.`.`$P""               `9$$$$i;$$$$$$$$$"       ,;J"
;;?9:.`.`.`.`.`.`.`$`.`.              `$$$$$$h$$$$$$$         ;;$
;;;9`.`.`.`.`.`.`.`$`.`.`  .          `;$$$$$$$$$$$$"        ;;$
;;;$`.`.`.`.`.`.`.`3`.`.`.  `         ,;;?$$$$$$$$F         ;;P
;;i$`.`.`.`.`.`.`.`3   .`.   `.      ,;;;;;;???"      ;,   ;J"
;J$$).`.`.`.`.`.`.`3)   `.`.  `.     .` `;;;;.`.      ;'   $'
$$$$).`.`.`.`.`.`.`;)     `.`.  `   `.` `.`.`.`.`    `;,  $
$$$$h.`.`.`.`.`.`.`3'       `.`.`.  `.` `.`.`.`.`.   `(h $
$$$$h'  `.`.`.`.`.`3'        .`.`.` `.   .`.`.`.`.`  `'FJ'
?$$$h'   .`.`.`.`.`3'          .`.`.`.`   `.`.`.`.`   `hF
?$$$$'   .`.`.`.`.`3            `.`.`.`.  `.`.`.`.`.  .$;
;$$$$;`   `.`.`.`.`$              `.`.`.`.`.`.`.`.`.`  ;?$,
;$$$$$`     `.`.`.`$                `.`.`.`.`.`.`.`.    `;??c,_
$$$$$$r.     .`.`.j'                  `.`.`.`.`.`.`        `;;?c,, 
$$$$$$$.`   `.`.`.$   `                  .`.`.`.`.             `;??c,_
$$$$$$$$`.`.`.`.`.   .`.                   .`.`.`               `;;;$?9L.
$$$$$$$$r.`           `.`.`.`.`.`.           .`.`                 :9;;9$$
$$$$$$$$$.`           `.`.`.`.`.`.            `.`                 `h;;?$F
$$$$$$$$$h`           `.`.`.`.`.`.             .`.                  ?ijiF
;????SJ$$$r            .,;,.`.`.     ,c?h.     .`.`                  ;;;f
???$$$$$$$$.           :;;;.`       $;;I;?L     `.`.                 ;;;$
ii$$$$$$$$$h,          :;;;.        h;C;$;9     `.`.`               ;;;;F
$$$$$$$$$$$$L          :3;;.        $;???;$     `;$.`;;;,         ,;;;;$'
$$$$$$$$$$?$$.         :3;;,         "iii$'     `;$.`.;;;;,     ;;;;;;JF
$$$$$$$$$F;$$h.        :?;;;                    ;;$.`.;;;;;;;;;;;;;;;jF
$$$$$$$$$;;?$$r.       `:h;;;,                 ;;;F `. ?hi;;;;;;;ij$?'
;J$$$$$$$;;9$$$r        `:h;;;,              ,;;;J' ;.   "?$$hi$TT"'
;$$$$$$$$$$$$$$$r        `:h;;;;;,       ,;;;;;;J   ;,     ;;;F
;;$$$$$$$$$$$$$$$.        `:??i;;;;;;;;;;;;;;;J'   .;;,    ;;;F
i;;?$$$$$$$$$$$$$$,         `"??iijjjjjjjjjJJ"     ;;;,    `;;F
$$hi?$$$$$$$$i?$$$$,            `"""????""``       ;;;,    `;;$
??$$$$$$P$$$$$$$$$$i;                             ;;;;,    ;;;$
          `?$$$$P" ?;:                           ;;;;;,    ;;;F
                    ?;:.                     .,;;;;;;;,   ;;;;F
                     ?;,                    ;;;;;;;;;;,   ;;;;F
                      $;,            ;;,    `;;;;;;;;;,   ;;;j'
                      `F;,           :;;,    ;;;;;;;;;,  ;;;;$
                       $`.;,          ;;;,   ;;;;;;;;;,  ;;;;P
                       `r.`:;         `;;;, ,;;;;;;;;;, ,;;;9F
                        F.`.            `;;;;;;;;;;;;;, `;;;9
                        $.`             ,;;;;;;;;;;;;;,  `;;9
                        $.`       ,;;;;;;;;;;;;;;;;;;;,   ;;9r
                        $.`       `;;;;;;;;;;;;;;;;;;;,   ;;?P
                        $.`         ;;;;;;;;;;;;f `;;;,   `;;$
                       .F.`         `;;;;;;;;;;,   `;;,    ;;9r
                       $`.`             `;;;;;,     ;;;,   ;;;$
                      ,C`.               ;;;;;,     `;;L   ;;;;h
                      $;`.               ;;;;,      `;;,   `;;;9r
                     J;;`.               ;;;,        ?b;    `;;;9.
                    J;;.`.               ;;;,        ;$;,    `;;;$
                   J;;`.`.               ;;;,        ;$;,   ` `;;9r
                  J;;;`.`.               ;;;,        `;;,  .`.  ;;h
                 J;;:.`.`.               ;;;,              .`.  `;$
                J;;: .`.`                ;;;,              .`.   ;$
               J;;:  .`.`                ;;;,          .`.`.`.   ;$
              J;;,   .`.`                `;;;,       .`.`.`.`   `;$
             J;;.   `.`.                  ;;;,      `.`.`.`.`   `;$
            J;;.    `.`.                 `;;,.`.`.`.`.`.`.`.`   ;;9
           J;;.    .`.`.                 ;;;;.`.`.`.`.`.`.`.   ,;;9
          ,c;,     .`.`                 ;;;;`.`.`.`.`.`.`.`.  ;;;;$
          $;,      .`.                 ,;;;;`.`.`.`.`.`.`.`  `;;;;$
         $;,      `.`.                ;;;;;.`.`.`.`.`.`.`.`  ;;;;;$
        ,C;,      `.`                 ;;;;;.`.`.`.`.`.`.`.  ;;;;;;$
        $;;,      `.                 ;;;;;`.`.`.`.`.`.`.`.  ;;;;;;$
       ,c;,      .`.                `;;;;.`.`.`.`.`.`.`.`  .;;;;;;$
       j;;,     `.`.                ;;;;;.`.`.`.`.`.`.`.`.`;;;;;;;$
       $;;,    .`.`                 ;;;, .`.`.`.`.`.`.`.`.`;;;;;;;$
      J;;;,   `.`.`                `;;;,  `.c$$$$$$$$$$.`.`;;;;;;;$
      $;;,    `.`.                 `;;;,  ,$$$$$$$$$$$P.`.`.;;;;;;F
      $;;.   .`.`                  :;;;,  $$$$$$$$$$$$`.`. .;;;;;;F
      $;,    .`.`                  `;;$  ;$$$$$$$$$$$`.     ;;;;;9'
     J;;,   `.`.                   `;;6,J$$$$$$$$$$$J"     .;;;;;9
     $;;,   `.`                    `;($$$$$$$$$$$$P"       .';;;;J
     C;,    `.`                    `;$$$$$$$$$$P"          .';;;;$
    ,C;,   .`.`                    ;;$$$$$??"              .`.;;;F
    j;,    .`.                     ;9?;.`.`                .`.`;$
    $;,   `.`.                     ;$;;.`.`                .`.`j'
    C;,   `.`                     `;$;`.`.`                .`.`$
   ,C;    `.                      ;;F;`.`.`                .`.j'
   j;,    `                      ;;$;;`.`.                 .`.$
   3;,                           ;;C;.`.`.                 .`.F
   3;,                          ;;J;;.`.`.                 .`$
   J;,                         ,;;C;;.`.`.                 .`P
   $;                         ;;;$C;;.`.`.                `.J'
   $;                         ;;$$;;;.`.`.                `,$
  ,c;                        ,;$ $;;;.`.`.                `j'
  j;:                       ;;$  $;;`.`.`                 `$
  $;                       ,;J   C;;`.`.`                 `P
  $;                      ;;J'  j';;`.`.`                 j'
 j;:                     ;;J'   J;;;`.`.`                 J
 $;                     ,;J'    $;;;`.`.`                 $
,C;                    ,;;F     $;;;`.`.`                j'
$;,                   `;;F      $;;;`.`.`                $
C;                    ;;$       C;;.`.`.                j'
;,                   ;;J'      j';;.`.`.                J
;                   ;;;F       $;;;.`.`.                $
'                   ;;F        $;;;.`.`.               j'
                    ;$         $;;;.`.`                $
                    $         j';;;.`.`               .F

А случайные цветные буквы вместо пикселей — это читерство, а не искусство.

Сила в символах, а не в 24-битном цвете.
Очень даже не плохо. Логотип Google вообще зачетный!
Еще бы нужные символы умели автоматом ставиться, для цветного изображения.
ASCII-арт это не когда png конвертируют в ASCI формат, а когда художник прямо в текстовом редакторе рисует свое произведение. Понятие тесно связано с демосценой, для расширения кругозора можно поискать по ключевым словам ascii art pack. goo.gl/k8eRT artscene.textfiles.com/artpacks/2001/
Буквы надо менять в зависимости от плотности цвета, если фон черный, то от яркости пиксела. Было бы круто еще границы находить и делать их наклонными линиями
Тут вот небольшая игра для любителей жанра: http://candies.aniwey.net/ (извиняюсь за оффтопик и испорченные рабочие будни)
Я напоминаю всем участникам дискуссии про существование aalib, в которой реализована уйма всего. Демонстарция возможностей либы — дема bb. Можно поставить её из apt (apt-get install bb), можно собрать её самому (хотя придется немного попыхтеть, мне под маком пришлось по крайней мере), а можно посмотреть на ютьюбе.
Цветным вариантом этого творчества занимается libcaca.
Название библиотеки, логотип и оформление сайта не могут не радовать.
Посмотреть libcaca в действии можно, использовав консольную версию VLC или mplayer.
Несколько лет назад я за пару вечеров написал на C++ штуковину, которая из bmp-картинки делала ascii-арт в формате скриптов mIRC. Вполне работало, можно было вставлять символьные картинки в чат.
Сейчас, правда, даже не вспомню, на каком из дисков лежит это творчество.
Попробовал потягать созданное изображение перетягиванием оного, а не ползунками- хромостраница падает:)

По сабжу — сколько видел такого — в результате получается хтмл страница с символами а не картинка на канвасе. Но проделанная работа выглядит очень неплохо
Разноцветные буквы — это не ASCII-арт. В ASCII-арте одним цветом можно передать тени, полутени, прозрачность, используя лишь саму форму знака.

Вот пример new school ascii art'а:
Или вот с тенями:
Очень не радует, что дизайн демонстрационной страницы выполнен в духе Web 2.0 с этими «стандартными» серыми цветами.
Зато код порадовал, всё хорошо прокомментировано и годно к использованию.
Вот ещё бы не канва генерировалась, а HTML — вообще было бы круто.
Очень интересная получается картинка, если в качестве символа-основы взять букву «Ж».
Дизайн такой потому, что страница именно демонстрационная. У меня с чувством вкуса очень туго, поэто не парился и сделал вот так минималичтично. Дешево и сердито.
Но все равно, спасибо за высказаное мнение. В релизной версии постараюсь что-нибудь поинтересней придумать.
Sign up to leave a comment.

Articles