About a year ago I wrote a post about the brightness of various ASCII characters. It seemed like a fairly obscure and pointless thing to be investigating, but there was method to my madness. The characters identified by that research have been used in my new Android application, ASCII cam.

The application was actually finished several months ago, but it’s only recently that I’ve had time to design a decent launch icon. I’m quite happy with the way it turned out.

Here’s the promotional blurb for the Android Market …

A long time ago computers didn’t have graphics. All they could do was show green characters on a black screen or black characters on white paper.

But programmers were resourceful. They discovered that if you filled the screen with certain characters and squinted you could sort of make out a picture. Thus ASCII art was born.

The ASCII cam application lets you view the world as ASCII art using the camera on an Android device. Characters are displayed as green-on-black, white-on-black, or, for that line printer look, as dark-grey-on-white.

It’s just the thing for Android owners suffering iPhone envy: a photography application that’s even more retro than Hipstamatic. Short of simulating clay tablets or papyrus, this is as old-school as it gets.

Pictures can be saved as either PNG images or text files.

And here’s a screen shot …

13 Comments on “ASCII cam”

  1. Great idea. I love it. Unfortunately I have a Galaxy S2 (T989) with no HW buttons. Well, only power and volume. So with the paid app I couldn’t take pictures.

    • mattkwan says:

      Hmmm, are there any buttons you can use for taking pictures? Or would you rather I add a menu option “Take picture”?

      • Wolf says:

        A simple tap on the touch screen would work, I suspect. Although one of the volume buttons is a common choice for these things.

        I have downloaded it on my Desire running CM7 and it works as expected, thanks.

      • Daivd Yoder says:

        Tapping the screen is what I’m used to from other camera apps. But a volume button would work too. I don’t know if up or down is more commonly used.

      • mattkwan says:

        OK, I’ve just released an update that will take a picture with a tap on the screen.

  2. Victor says:

    Wont work for me either with screen tap or voilume button. I have to take a screenshot for it to work. So yes, a simple button would be great. Running it on HTC Sensation with Icecream Sandwich. Thanks!

    • mattkwan says:

      I’m really surprised the screen tap and volume buttons don’t work. They should be pretty much foolproof.
      Are you using the paid version of ASCII cam? The free version (ASCII cam free) doesn’t let you take photos.

  3. Ash says:

    yes nothing but black screen on Droid Razr

  4. Charles says:

    video display fine, but ASCII display has about 6 copies across the long direction. (HTC doubleshot/G4 Slide running Cyanogenmod9 – ICS)

    • mattkwan says:

      That’s weird. Any chance you could grab a screenshot?

      • Charles says:

        I printed out a nice big “R” (so orientation would be clear) on a sheet of blank paper, and laid it on dark blue carpet for the picture. The first shot includes the video; the 2nd one offers a similar (but not identical) view without the distraction of the video.
        The 3rd picture is of complete darkness.
        For the last, I made another shape, smaller to take up less of the picture, though with a small corner of the carpet showing.
        The distortion is interesting. I played with different angles and such, but couldn’t come up with anything more informative. Something I noticed is that when I pulled back (making the images smaller in the view) they scaled down appropriately, but as the auto-focus operated, they enlarged significantly.

      • mattkwan says:

        I honestly have no idea what’s happening with the first two pictures.

        If you rotate them 90 degrees the rows of text aren’t horizontal, they slope up and down gradually on the page. But the application draws whole rows with a single Canvas.drawText() command, which renders a horizontal text string, so I don’t know how that could happen.

        In theory a sloping line could be drawn by rotating the canvas transform matrix by a few degrees, but that would result in a constant up or down slope, not a varying one. And the characters themselves would be slightly rotated. So that’s not the cause.

      • Charles says:

        Heard of Vodafone? I apparently have the VoodooPhone! 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s