JP2A logo

About

jp2a is a small utility that converts JPG images to ASCII. It's written in C and released under the GPL.

Download

Download jp2a from Sourceforge. Windows users will find a binary download there.

Source code

You can browse the jp2a subversion source code repository.

Screenshots

You can view an online jp2a gallery and try for yourself over at asciiconvert.com. Check out the JPEG screenshots of jp2a.

Thumbnails

Here are some other images in plain text: Here are some color HTML-images:

Building and installing

General

Compilation of jp2a requires jpeglib with libcurl as a recommended option. On many systems you can just do the following to compile jp2a:
./configure
make
make test    # optional
make install
If you have jpeglib installed in non-standard directory, say in /opt/local/include/jpeglib.h and /opt/local/lib/libjpeg.a then you can do
./configure --with-jpeg-prefix=/opt/local

If you need to build jpeglib yourself

Download the sources from IJG.org and build them like for instance this:
./configure --prefix=/usr
make
make install-lib   # simply make install is not good enough for jp2a

Mac OS X

jp2a is now part of DarwinPorts, so if you do a
sudo port install jp2a
then everything should be installed.

FreeBSD

You can use the Freshports:
pkg_add -r jp2a

Debian

You can use the Debian package:
apt-get install jp2a

Gentoo

You can use the Gentoo package:
emerge jp2a

Reading other graphics formats

In normal operation, you'd use jp2a with something like
jp2a --width=76 file.jpg
However, if you want to be able to read other graphics-formats, you can use ImageMagick's convert program with pipes, like
convert somefile.png jpg:- | jp2a --width=76 -
Convert is a very nice utility, letting you set a lot of options that might enhance the ASCII output (e.g. by setting contrast and brightness). Another example, increase brightness by 170% and then rotate 45 degress clockwise:
convert bender.bmp -modulate 170 -rotate 45 jpg:- | jp2a -
Convert handles just about any graphics-format you can think of, including video formats and vector formats like PDF and Postscript (handled by convert using Ghostscript).

Reading images off the net

jp2a now handles downloading by using libcurl. Just do this:
jp2a http://foo.bar/image.jpg
If you didn't compile jp2a with curl, you can use another HTTP reader and pipe the result to jp2a: For instance, to download and convert the Google logo all on the fly, you can do this:
convert http://www.google.com/intl/en/images/logo.gif jpg:- | jp2a -           
                                                                      
       .......                                       .':.             
    .::'....':xd.                                     dX'             
  .ld.        ..       .                              oX.          ...
  ;O'              .c;..'cxc    ;,...,c;.  .:'.,lxc.  dX.  ,:'.,dx.. .
  oO.             .ox.    ,x0 .cd.    .cd..ll    l0.  xX. :K,..,::.   
  cxx.      .',cl 'x0      lK'.cx      ;k, lO;  .ll.  dX. o0:         
   ,dkc.      :kd  :kx.   :d;  ,ol.   .lc.  .''lk'    kX'  oOo'...    
     .;:cc;,,',,.    .;;,'..     .,,'...   ''',:lxo. .','.  .,::;.    
                                         .oc.     dO                  
                                          lk;....'c'                  
                                            .'....                    
                                                                      

Why I made jp2a

I wanted a small project to teach myself how to use various libraries and autotools.

Suggestions

If you have any suggestions or code patches, I will be very glad to hear from you. You can email me to csl@sublevel3.org.

I was asked if there are any bindings for Python. Unfortunately, no, but if anyone wants to make that, let me know.

Links

jp2a pages

Other pages

Author

jp2a is written by Christian Stigen Larsen

Valid XHTML 1.0 Strict Valid CSS! SourceForge.net Logo