Vertical Aspect Ratio of a Rectangle for Ascii Art

Grapheme representation of grey scale images

Written past Paul Bourke
February 1997

"Standard" character ramp for gray scale pictures, blackness -> white.

          "$@B%viii&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()ane{}[]?-_+~<>i!lI;:,"^`'. "        
A more convincing but shorter sequence for representing ten levels of grey is
          " .:-=+*#%@"        
An obvious trouble is the variation in apparent density between some typefaces.

Another issue is the stretching in summit due to the rectangular aspect ratio of characters. When creating such images past software by sampling "existent" images it is common to sample one-half as frequently in the vertical management. Of grade if the aspect ratio of the font being used is known then exact vertical and horizontal sampling can occur.

As an example consider the following grey scale ramp on the left and the corresponding ASCII character representation on the right.

                                          =======--------:::::::::........                   =========--------:::::::::........                 ++=========--------:::::::::........               ++++========---------:::::::::........             ++++++========---------:::::::::........           ++++++++=========--------:::::::::........         *+++++++++=========--------:::::::::........       ***+++++++++=========--------:::::::::........     ******++++++++=========--------:::::::::........   ********++++++++=========--------:::::::::........ #*********++++++++=========--------:::::::::...... ###*********++++++++=========--------:::::::::.... #####********+++++++++=========--------:::::::::.. #######********+++++++++=========--------::::::::: #########*********++++++++=========--------::::::: %%#########********+++++++++========---------::::: %%%%#########********+++++++++=========--------::: %%%%%%#########********+++++++++=========--------: %%%%%%%%#########*********++++++++========-------- @@%%%%%%%%#########********+++++++++========------ @@@@%%%%%%%%#########*********++++++++========---- @@@@@@%%%%%%%%#########********+++++++++=========- @@@@@@@@%%%%%%%%#########********+++++++++======== @@@@@@@@@@%%%%%%%%#########*********++++++++====== @@@@@@@@@@@@%%%%%%%%#########********+++++++++====                                      

Other Examples

          ...                                                                                                            ...::.....                                                                                                      ....:=-:--+..                                                                                                  ......::-+:.....                                                                                              .......::-+@%=:.:....                                                                                         ........:-=%@@@@@#@-......                                                                                    ...........::%@@@@@@@#::........                                                                              ....:::+:.:::::--%@@@@@#-::::......::.                                                                        .......:*@#+=-=@@%@@@@@@@@@@%@+@#::--:-::..                                                                   ..........::#@@@@@@@@@@@@@@@@@@@@@@@@=@@@@*:..                                                          ..................+:-+%@@@@@@@@@@@@@@@@@@@@@@@@@@@*:....                                                     ..:.................:+@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=:....                                                   ....:=:.....=:......::-+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=-*:..                                                 .....:+-=*::-++-=::::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*...                                               .......::-+@@*@@@%%@%----%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@--...                                            .........:--=%@@@@@@@@@@@@=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:...                                       ..........:+:::-+@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-...                                   ..............:::%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-....                                +++++++*#+++*****#*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-:.....                                     ...........:::=*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.....                                       ...........:+-:--#@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:...                                           ..........::-+#@@@@@@@@@@@@@=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-....                                              ........::-#@@%@@@@@@@=---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=...                                                ......:--*#=--+%-*-:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:...                                                  ....:=:....:+::....:::=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@:..                                                   ...::...............::=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#::...                                                        ..................:#-+#@@@@@@@@@@@@@@@@@@@@@@@@@@@%=:....                                                                 ...........::#@@@@@@@@@@@@@@@@@@@@@@@@+@@@#-:..                                                                     ........:%#@%*-+@@@@@@@@@@@@@@@%@+-:-*:--:..                                                                        .....--*#::::+:--=*@@@@@*---:-:.....:-..                                                                            ...........:::*@@@@@@@#::.........                                                                                  .........::=@@@@@@@#-.......                                                                                        .......:---*@@=:-:....                                                                                              .......::=*::....                                                                                                  .....::+:+-+..                                                                                                     ...:=....                                                                                                         ...:..                                                                 .@.                                    .               @1000@,.                                 .@              .@yard%nm@,.                            .@m@             .@nvv%vnmm@,.                      .@mn%northward@            .@mnvvv%vvnnmm@,.                .@mmnv%vn@,            @mmnnvvv%vvvvvnnmm@,.        .@mmnnvvv%vvnm@            @mmnnvvvvv%vvvvvvnnmm@, ;;;@mmnnvvvvv%vvvnm@,            `@mmnnvvvvvv%vvvvvnnmmm;;@mmnnvvvvvv%vvvvnmm@             `@mmmnnvvvvvv%vvvnnmmm;%mmnnvvvvvv%vvvvnnmm@               `@m%v%5%v%v%v;%;%;%;%;%;%;%%%vv%vvvvnnnmm@               .,mm@@@@@mm%;;@@yard@chiliad@@m@@thou@mm;;%%vvvnnnmm@;@,.            .,@mmmmmmvv%%;;@@vmvvvvvvvvvmvm@@;;%%vvnnm@;%mmm@,         .,@mmnnvvvvv%%;;@@vvvvv%%%%%%%vvvvmm@@;;%%mm@;%%nnnnm@,      .,@mnnvv%v%5%v%%;;@mmvvvv%%;*;*;%%vvvvmmm@;;%m;%%v%v%five%vmm@,.  ,@mnnvv%v%v%5%v%v%v%;;@@vvvv%%;*;*;*;%%vvvvm@@;;g%%%5%v%v%5%five%vnnm@,  `    `@mnnvv%v%5%five%%;;@mvvvvv%%;;*;;%%vvvmmmm@;;%m;%%v%v%v%vmm@'   '          `@mmnnvvvvv%%;;@@mvvvv%%%%%%%vvvvmm@@;;%%mm@;%%nnnnm@'             `@mmmmmmvv%%;;@@mvvvvvvvvvvmmm@@;;%%mmnmm@;%mmm@'                `mm@@@@@mm%;;@m@@thousand@m@m@@m@@;;%%vvvvvnmm@;@'               ,@m%v%5%five%v%5;%;%;%;%;%;%;%;%vv%vvvvvnnmm@             .@mmnnvvvvvvv%vvvvnnmm%mmnnvvvvvvv%vvvvnnmm@            .@mmnnvvvvvv%vvvvvvnnmm'`@mmnnvvvvvv%vvvnnmm@            @mmnnvvvvv%vvvvvvnnmm@':%::`@mmnnvvvv%vvvnm@'            @mmnnvvv%vvvvvnnmm@'`:::%%:::'`@mmnnvv%vvmm@            `@mnvvv%vvnnmm@'     `:;%%;:'     `@mvv%vm@'             `@mnv%vnnm@'          `;%;'         `@northward%n@              `@1000%mm@'              ;%;.           `@m@               @grand@'                 `;%;             `@               `@'                   ;%;.             '                    `                    `;%;                                                              _.oo.                       _.u[[/;:,.         .odMMMMMM'                    .o888UU[[[/;:-.  .o@P^    MMM^                   oN88888UU[[[/;::-.        dP^                  dNMMNN888UU[[[/;:--.   .o@P^                ,MMMMMMN888UU[[/;::-. o@^                 NNMMMNN888UU[[[/~.o@P^                 888888888UU[[[/o@^-..                oI8888UU[[[/o@P^:--..             .@^  YUU[[[/o@^;::---..           oMP     ^/o@P^;:::---..        .dMMM    .o@^ ^;::---...       dMMMMMMM@^`       `^^^^      YMMMUP^       ^^                    ,:                ,?}'              =!J |            ,*-. ?&            WP) Y9P           YP   ,West'          ,W)  ,WW.'          WW) ,WWW)          7W),WWWW'          `WWWWWW'           9---W)       ,,--WPL=YXW===      (P),CY:,I/X'F9P      WUT===---/===ix)      -HP+----Y(C=9W)       '9Y3'-'-OWPT-        'WWLUIECW         (:7L7C7'        ,P--=YWFL        Y-=:9)UW:L        3-'9=WU/.7       ,WP9HTFUW'()        9W7W))UF 9)        7WYW))Pow Westward         7WH)),WC)          7L--/XY)          ix+-,KY7)          W9-Y3+7)          W'=9WI7)         ,W  '-YY)          W    ::West                ,         ,T     :X)              ()         ()     '9W  'L.         ()         ,-         (C     =:nine   '9L        ()        ,T         ()    ,,-7)    7WL      WW      ,F'         ()    , T9)     '9WL    --    ,YF         ()    '-/(W       -==+PE9P7===O)          -,         'W, ,  T+/WX=L-. ,WP+()+3L3,),=WL  --==-T-          7)    -,YW '-=9WPL+PT-- ':--50/=9WP=-'          'Due west-,.-,++W.   WWHP    ,,-/  .9CP3)           Due west  --':-9:7=9W-T ,-=FT''=++,(TFYW=====---,           West    .-='/.  7W-,We=--,,=-:9H=9W""~~~~~~'           ()   ':'/Y,  (Fifty-9PXWWW,YWWX,(U3C                   9' ,,::/Y,/,  7LW+'-'7)()-'(MWW)        ,,-/:',T,'-:',) ,3WWW, .Y=Westward'.(+WPW)       ,F=T:nine/:':C' /Due west),WMW9PO),m-+--nine+WYW)      ,3Y:/--.'-,',F=FHWWE/LMWU.'--X3CWW(WL      YP:/:' -/'-Y-,W-T)9X,WCWWWX=WWWW39/OW      7WF:=,/:-:P:,P(-'))PWWHYT79WWWHPW0W7W'      'WU7C-:=-=-C9'WF,):):H7L   '7CI7WEXP'       7L-,Y==3F:::,=,:-/,'P=.,  ':79UWEW)       'WEW9P=/,)/ -:,P: / L7:'-=,-+YMWWW)        'West)+=T,T()/-,F,,,),)  ',.-+(L=W9WW.         '+C/:I'''',P:''/ '  ''9.  == '-'7-          (W-+'. ,YF )/:'      ')-. ,-:FX-L          'WM/',/CP /,:'    ..:)  ,T','/: 'West,           W--,YXT /'')   ,P=-/',P'  '(:'  'W,           (WEXWF Y' ,)  ,/'-,,YT    ///  ,,'Westward.          ,WWWWT,,' .Y:/.',,-,=',- ,YY(). +3,W)          WFXF:,'P ,,)/  ,',P',,- ,FI,))) I3'W)          -HP,X'',/ '  ,/,/' ,/',,P3'I(:) West) W)       /=+=,           9WY).,/'  ,/'-'   ,-=ix-/'Y'((',W) Prisoner of war      /'  '-==L,           'WY,'    ,/,P   ,YP- C/',',)( (W'(WW.    /'       '7==L.            ()'    /:/' ,,WT'  3F',' /)W (West (K()   /'   .        '7X            ()   ,P,P',)T=:- ,WP'.' ,P,T (Westward (-9L ,Y)' ,X//, .    Y:P           ,F   ,F,',--,/:' ,+P' '  Y):) (E' YHWLWT)-''-ix/',-' ,,,WF          ,P.,P,)-3-- ,-,' ,WF.    ,Y (' (Fifty-WCTWEW30V-/',:'=/P+E7WF          W- Y,P/C)',Y',' ,WT      Y) :  (P-=Y:UW9CX)3-=- ,W:ix/PXXW.         /T./:P/)' ,P',' YW-      ,P'',  9M).())WTHW3,C'  9C9='W3WW)        ,EPOP/YR. /F ,',/W)       /'  :  (W)'W979WO0=WC:,..9LPXWWP-        3H:WL-R' /' /' /WF       ,) ,,   (U'(HW=WWXO:--:,:'(W=WWF'       ,WLWWWI:,F' /-'3WF '      Y  ) ,  (),T(0)WO9YPL.' ',WP=='         --YWX-F  Y',WWT' :':   (' ()7)  (MT: WP)3C)-''  3C'             WF  /' YW--,  ,    Y  Westward (),YM+C' 9+I3UV:' .YP'            (T  three',H3-.. ,..  .,) ,) ()F-=T-. (0,9L,'  /P'            ,W Y' 33P  .  /    Y  Y) (Y' R,:  vii)Y+-),,=W'            /',F.,W)     ,,.' ,) ,W) +)  3),  (WT9XW=3P'           /F:T.:WF.  '..:'   :' (Westward. seven) '=),  'WT7WWP '          ,P,F''WF  . , :-': ,)  YC../) 'HY.   WP0WC'         ,P:nine::YP   '  '('   :   W) .W)  +3)   9TLWC         (P/Y(,P' ... '':, .,)  ,Due west) :3)  10+.   WFUW)         'WW),I','  .., =  ':  ,O+' ,Due west'  )9,   99U()          7W,='.,' ' :.'. . '  ,West)  =3   )+.  ,OH:O)          'L,F,: '. :C::' '    (W)  9W   7+    'H,:L           7W'++: .. ,':' '    YT   Y).  :-.    XU:Due west           (T':,''','','       iii'  ,-)   ,-'    77XW           (W),J.-:/-:))'      P   )9)   :,Y  .  T,9)           (WUI:TY:,,,:,      /' ,- W)   YC:     nine/7)           (U),-:-''.'=      (:,F' (W)   ,Y.     3=:Fifty            (),:::',)/'    ,,F9W'  YW)   /L.    .seven=9W,            (LUL-L.T-'.' ,WXM(W)   3W)   'U.     ,)-Due west            3X=((:,' ' ,WMWF-(+'   WW'   '=,'    ,ICW           ,T)=)K-=':-WPIWP':,:   ,WW    +/, ..' :+,9)           Y):LX:.:=EHR,PU:'/''   (WW    I:=, .,-9CO)           ()-+,,HPT+C:W9= ,)'    /WT'   T.: --PCXCKF'           7LIHTP+OY3LW'3:,50..    WW)    ,,(Westward('MX'WT'            7T,I-:XF:WF(: ,)    ':WWT  ,=PT:T(AY) West            (PWW)W3=/P,P  ,     ,'WW),YP,WH,)Y)TWX9)            3)OWRE)-YUY'... '  ..(WWXWW)9W+C)WUP9P3'           ,WTHEF:LOP:Westward ' ,.   ,:(WPY(Due west,(P::)W(P3+)           (P3WF/:WM:() :.:      (WHY)39HC'U()(West,W)           (LW9/CWY-,E'  ,'     'YPL/T:WP:,(()3Y Due west)           (TLUEEP=7W+.,:)       -P-:,PWT.:Y()() W+           (EP/30-OAT .'three  . . . .C,P):WP Y)()3C:PW           (PWMH:FXW'',-(, '   ',97WMU(7: )LW W .WW           (WOWF-7EP)-X3., , ,,WP+WYY+YW' )WW 3 .W7)            9W93UOY):.)/.- :YWCWU-EIMC)E (-WP + ,WW'            (XWYUWY.,:'.,,YE3-7WE3WXV(UT,( W),T =P'            (PT709),)C:/FY9)T.(W9YHL/Y(C T,W)') Westward.            (+UTYH-:-=C-(P(-).WWF3:))3(U))(W)() P'            3P7Y3)/'XP:)WP(J. WXCWKV:)()))(W'U)()            7OLY3',H9),YW'F ),Westward)CT)/Y((-))'W,U)()            7F=T-/T(=)A3C,)three)(WA()=)TY(CY'YWY(::)            W9C=()L/3,9'/('Y,YWU(XE/))()E.YT)3:)50            Westward=P:F:(,)),,'F'/:WP+3OY':)(R+ /T,T')Due west         -=WRHX9C9-W'=,),)'A,A)XW779EXWK+.()3W),(,       ,W=-'L,,Twenty)/)+'I 3)39I(UHE-+LX39TWH/LUP)(H)      ,P:. ,-90/,(F0'/:,W //'(YOC':--YY3/IRW'9LT')      3W=:Y:-F.)Y:/''Y /O.=:,WL9) ,. ,.79=9PL'ix(-W,      WWWWWWWPT:,::/'-WH=9',P=-W3XU3-,W=YL-O3-O)X9WL       -7T--''=9W==W=9WWHW====''P======='---=T==F==9)        
Or try this silly piece of C code (author unknown).

Software

A Macintosh application has been written, chosen pict2ascii:, that converts PICT images into an ascii bitmap format. The numerical value for each pixel can exist scaled to a number of ranges.
Update 2002, this software is no longer bachelor.

englishwaakeen.blogspot.com

Source: http://paulbourke.net/dataformats/asciiart/

0 Response to "Vertical Aspect Ratio of a Rectangle for Ascii Art"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel