A while back I made a simple bitmap to ASCII art generator. It takes in a 24-bit bitmap image, and can scale down the output by integer factors. Operation is simple: the code looks at a block of pixels and sums up all red, green, and blue values. This represents a type of intensity for the block. This intensity is then converted to an ASCII character that is roughly that has a black/white ration roughly corresponding to the intensity level. Modifying the threshold value in the function call changes what intensity is considered saturated-white. All of this is really rough, but it was just a quick project. Results were okay:

Original Images (scaled to fit page - click image for original):


ASCII Text Output (image version - click for text file):


I think the spiral turned out the best, but at least they're all recognizable. They look better the further away from the screen you are, too. Here's the source code:

asciiArt.c

Code usage: ./asciiArt <input image> <threshold> <scaling factor>

Code compiled and tested in Ubuntu. I don't remember where I got the test images from.