How can I display an image in the terminal?

。_饼干妹妹 提交于 2019-12-03 12:25:38

问题


Is there any sort of utility I can use to convert an image to ASCII and then print it in my terminal? I looked for one but couldn't seem to find any.


回答1:


A program called cacaview allows you to do this.

It is interactive, allowing you to pan, zoom, and change display modes.

(Full size image)




回答2:


Try using the Google-Ninja before asking! I found cacaview and aview.




回答3:


more simply, you may use img2txt from the caca library (cacaview is an image browser and opens a new window, which is not what is asked here I guess);

For instance :

$ img2txt /Users/foo/pool/libs/ipython/docs/resources/ipynb_icon_256x256.png

      .:.:.:.:.:.:.:.:.:.:.:tS@8                        
     . . . . . . . . . . . . ..:;@@t%;;X                
     . . . . . . . . . . .  .  . . .X8S%%8%.8           
     . . .  . . . . . . . . . . . . ..8Xttt%S8.         
     . .  .. . . . . . . . . . . . .  .8;%88888S        
     . . .  . . . . . . . . . . . . . ..8X.  . .t       
     .tS%SSS X . :SXS@8:@. . . . . . . .. . . . t       
     .  .%:S  . .@;XX8@@:; .X8%t@ . . .@tX8S . .;       
     . . t;@ . . @SS. .S;8  @@. .:8. %%S.8@X 8X8t       
     . . %tX . . @S8 .@@t...@8: .X:;.tX..8.:.@%tt       
     . . ttX. . .8tt;t.@t  .8: .  @8X.X .%88... t       
     . . %tX . . @S@::. . . 88 ...; X% . 88:.S8;t       
     . . ttX . . @X8 . . . .88   . :.;. .88S.%88t       
     .t88 ; 88. .8SS. . . ..88.%8.@ 8. 8X88;.  .;       
     . S%SStSS. .;S.. . . ..:%XX:;; . .;X%;...  t       
     . . . . . . . . . .  .  @XX8;.. . .  . . . t       
     . ;@XXX t.  .. . .S88%. % %@. . . .. . . . t       
     . %8888@Xt.   . . S888 . 888:. . . . . . . t       
     . S888888 ;. . . .. 8@:.: 88   .  . . . . .;       
     . %888%888  .   . S888.:8%88: X8%tS8t.. . .;       
     . S888.X888;. . .. @8@ :;.88888@8X8X8S8. . t       
     . :8.X% 8888%.. ..S88@.:8S8t88.%88X@t88%. .;       
     ..S8@8t..8:88t. ..% 88t ;88@8;:.... 88888..t       
     . S888S : .8@8X. .;88X..%:888. ..     888. t       
     . t8:XS. ..:888;..@888..: 88   .. . .888X:.;       
     . X888; . . ;:8@t.S:88:.@S88t. . . . %88:8.t       
     . %8 8S. ..  8888; @8S..:888    . . .8888  t       
     . %888;. ..   888SX;@8:.;8888  . . ..8S88:.;       
     . S@888;. .   :8:88888;.t8888S.. . :X8888: t       
     . %88 X . . ...:888888;.;88888:tXSS8888t.. t       
     . %888@. . .    SX88X8: S888@S888888%88. . t       
     .   tt.. . . .. .::t:t .:.%S.  X8%X8;: . . t       
     .   . . . . . . .... . .....   ....: . . . t       
     %8@8@8@8@8@8@8@@8@8@8@8X8X88S8X8X8X8X8X8X8XX       

$

on macosx, you may use homebrew :

$ brew reinstall libcaca --with-imlib2

(imlib is used to convert from different formats)




回答4:


Here's a utility that does this (with source code):

http://www.codeproject.com/Articles/10949/ASCII-Art-Generator




回答5:


A high quality fast standalone conversion utility (provided you have a 256 color terminal) is pxl, available at https://github.com/ichinaski/pxl.




回答6:


Another alternative is to use the Ipython notebook: it is pretty good at doing what you ask for.

For bash: You have to prepend commands with a bang. For images: You may use the rich display system from ipython.

A screenshot of the result:

Complete answer in this post.



来源:https://stackoverflow.com/questions/12233105/how-can-i-display-an-image-in-the-terminal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!