Store

...Coming soon

Archives

ARTSCII – A Completely Different Take on ASCII Art

A picture is worth a thousand letters:

ben-bike-artscii-artistic

Here’s a little something I’ve been working on, a program I call “ARTSCII”.

You can download ARTSCII here. (Windows only for now, sorry)

It’s different from normal ASCII art in a similar way to how my collage software is different from regular photo mosaics.   I went at the problem from a completely different angle.  Instead of dividing the picture into equal-sized boxes and finding the letter that is perfect for each box, I piece the whole thing together like a puzzle.  This is still very early code, but the results are cool so far.  Especially when you combine the original target image and the ASCII art version with a bit of Photoshop wizardry as seen above.
Ben-b+w ben-bike-artscii2

Just running it on a single letter generates kick-ass results.  I think this would make a pretty sweet type-face

LetterA

Brought to you by the Letter A

Number8

And the Number 8

You can limit it to specific letters (though it tends to have “favorite” letters for filling in dark areas, like lower case b):

ben-bike-overhead2

Also useful for generating cliched tripe like this (favorite letter here is obviously ‘O’):

heart-love

Even cool with just one character.

MonaLisaStars
Here’s the program for anyone who wants to play with it.  This is just a prototype – it’s SLOW, the user interface is crap, you can’t change the font sizes, it’s buggy, etc.  Requires .NET, which is probably on your system already.

A few tips:

  • Start with small images.  800 pixels max on the longest side.
  • For best results convert your image to black and white first – not grayscale, black and white.
  • Times New Roman always seems to look great.  Other fonts are hit-or-miss.  ”Funky” fonts don’t usually turn out so great.
  • Results often look better when run with only lower-case letters.  Upper-case is kind of jarring.  LIKE BEING YELLED AT.
  • This program will rail your CPU.  Open your task manager, select the processes tab, right-click on artscii.exe and select Set Priority->Below Normal to be able to use your computer while it runs.
  • Using a single character and lots of different fonts can yield interesting results.
  • Some characters like lowercase L render as just a single fat line in some fonts and the result doesn’t look much like ASCII art.

Potential future improvements:

  • Faster
  • More intelligent about fitting letters together, by using branch-and-bound game-AI algorithm.
  • Ability to add words and phrases
  • Minor tweaking so it doesn’t over-use certain letters and patterns of letters
  • Dithering algorithm of some sort so that it can handle gray-scale images intelligently
  • HTML output / vectorized output
  • Color?

4 comments to ARTSCII – A Completely Different Take on ASCII Art

  • Clay

    Awesome new idea! Pretty sweet how it uses characters instead of pictures!

  • Yea, this is pretty fun. It’s kind of slow — I feel like I’m raytracing on a 386 again :) — but that is to be expected.

    One major bug though – the last character generated is stuck red, even in the saved PNG file. Stands out like a sore thumb unless it’s one of the smallest sized characters.

    Also, selecting the point range available to use might be interesting.

    And I’ve simply seen a lot of cases where a black letter sticks into whitespace where it clearly shouldn’t — that it would certainly be possible to come up with an arrangement where that doesn’t happen. So the algorithm may need slight tweaking. But you’ve already said as much.

    I’ve already seen friends (well, 1 friend) using this too. I’m currently running it on my own 2-color images (very few that I have though). Watch the tag ‘artscii’ on flickr.com (rss subscribe?) and you’ll eventually see my uploads :)

    • Ben

      Hey Clint, there’s a lame work-around I use for the last red letter thing – just click on the “Debug BG Image” check box and then uncheck it again.

      Anyway, I’m working on a bunch of fixes and improvements (more improvements than fixes at the moment, that’s kind of the stage I’m at), I’ve got it running MUCH faster now, and I’ll have selectable font sizes. Also, if you’re on Windows 7 or Vista, you might experiment with turning off Clear Type temporarily before running it, somehow that interferes with how artscii renders its fonts and can have strange results I’m still trying to figure out…

      Glad you enjoy the program, I look forward to seeing other peoples results…

  • That must explain why I couldn’t find the red letter in a couple of the images! I have managed to get it to run out of memory after 12 hours of rendering – I think your advice about having no side >800px is probably good advice. (I always try to overload things to see when they break. Hah.)

    This is very awesome.