
ASCII Art: Real-Time ASCII Art Rendering Library - symisc_devel
https://github.com/symisc/ascii_art
======
illicium
Check out libcaca[1], a image-to-ASCII library that already available as a
mplayer and VLC output.

There's also a demoscene competition where entries can only use text-mode art,
TMDC [2]

[1]
[https://en.wikipedia.org/wiki/Libcaca](https://en.wikipedia.org/wiki/Libcaca)
[2] [http://tmdc.scene.org/](http://tmdc.scene.org/)

~~~
ben174
Wow, ascii + demo scene. Two of my favorite things and I never knew the combo
existed!

[https://www.youtube.com/watch?v=c5kPMdYIbvI](https://www.youtube.com/watch?v=c5kPMdYIbvI)

~~~
rosbrith
I remember this one being bundled on the cover CD of one of the Amiga mags 20
years ago. Watching it blew me away at the time :)

Pouet:
[http://www.pouet.net/prod.php?which=14015](http://www.pouet.net/prod.php?which=14015)
Youtube:
[https://www.youtube.com/watch?v=zmly5dpEpvc](https://www.youtube.com/watch?v=zmly5dpEpvc)

------
daleroberts
A simple lookup table also works well.

Here I use Unicode 9.0 and True Color support to render images as text using
Python: [https://github.com/daleroberts/tv](https://github.com/daleroberts/tv)

------
symisc_devel
You can test the rendering on your browser using the live demo at:
[https://art.pixlab.io](https://art.pixlab.io)

------
slavik81
Is there a good way to display these in a terminal? The result is a little
ugly because it ends up vertically stretched.

~~~
khedoros1
I'm sure there's a cleaner way to do this, but this'll take input in the form
of the "stretched" ASCII art and double up the characters. My fixed-width font
is half as wide as tall, so it works out.

To read from a file "filename":

print("".join([a+a for a in open("filename").read()]).replace('\n\n','\n'))

To read from stdin:

import sys

print("".join([a+a for a in sys.stdin.read()]).replace('\n\n','\n'))

------
kadal
Is there one that can do matrix digital rain like effects?

