Textograph User Guide
Textograph is a Java application that takes an image in JPEG, GIF, or PNG format and
converts it to a black and white image pixelated by text characters.
The utility uses different text characters to represent different
grayscale levels based on the "density" of the characters - the amount
of black in the characters' glyphs. The resulting images can be saved
as plain text files, and used to present pictorial images in text-only
media (e.g., for pictorial signatures in email messages, etc.)
The image below is a photograph of the author transformed into a text image with textograph.
.....
..... ...``````::.
..... :`!s$#MMMMMMMMMM#T_:
.. :Iy#MMMMMMMMMMMMMMMMMMMMN|.
..... .:TNMMMMMMMMMMMMMMMMMMMMMMMMMMMMs`
...... `\MMMMMMMMMMMMMMMW&MMWMMMMMMMMMMMMMA:
..... :[MMMMMMMMMMMMMMM@##@&WW@@MMMMMMMMMMMMM3
.... .IMMMMMMMMN$QgagODD$$NWMMMMMMMMMMMMMMMMMMMM`
. .gMMMMMMMa[||\\\|TyO$$QMMMMMMMMMMMMMMMMMMMMMMr
. .aMMMMMqsI_`;;`:`;_!I!!\TyO$NMMMMMMMMMMMMMMMMMM|
. |MMMMg|"`:::::::.. . :;_I[sFN@MMMMMMMMMMMMMMMM!
."MMMMO\_`::... ...:`;;!|\\$MMMMMMMMMMMMMM`
_MMMMas!;`:. ...:`;_[MMMMMMMMMMMMMg
. AMMM#Tr_::. :::::`![WMMMMMMMMMMMMM`
. ;MMMMD[\"`:. ::`::`"[#MMMMMMMMMMMMM!
. |MMM#a[\!`:. ..:``::`"s$MMMMMMMMMMMMM3
.TMMM$3[\!`:.. . .::.::_|gMMMMMMMMMMMMMg
.TMM#a[\"`:.. ..:::::`;Ia&WMMMMMMMMMMMg
"MMNq\_`:. ..::::``;|N@MMMMMMMMMMM$
:MM@O[\\!`: .:.:::::``;!3NMMMMMMMMMMM$
..DMO|``;;;;::. .:`;`: .:::````_IaMMMMMMMMMMMO
.aN3!"I\aTs"!_: .:.::::: ..:`;``_rOMMMM@qsr!DM3
:QQ3yAF\a\|!!r" .:::`!";TQ#a!:.....:::`!yMMM$T!;;`_M3
:Tyyq\`::.::;\\`:;`:.:`::::::``:::. .::`!FMMMq"..;:$MM.
... .:\FT\":::..:sF!_"!"`::::. ......::;IsAMA|:..`_MMM.
... ..;T[r_::...:_3\`;"!"`:.. ...........::_rIFgF_ .:TMMT
.. .._[\;:: ..`rs!:`_"_`: .. .......::`_!!\T\;::`;&MM;
::.....I[_:. :_|r`:;;"!`: . ....:`;__;"rr_::;$MMM:
__;````\\`:. .`\\`.:::`;``:::. ...:`"___!\r":;gMMMF
\rr\IrIsT_`:.:`;rF|: :"__"_`:``:. .:::`___"r\sr_AMMMM:
\rr\\I!\F|"`;!\|TqQ$3[[sssr_;::`;`: ..:::`;__"r\sr#MMMM`
II!"_"""[T!:IQMMMMMMM$AQMMgggyFTT[": ..::::`_""!I|sMMMMM;
_;;`````!T\:rMMMMMMMWNa$WM$MMMWWMM3`. ....:`;!Ir|TDMMMMT
``:``:::`IF\!3qI\qAaFT!IT[[F3FT[gMg: .::`"r\|TqMMMMO.
`:::`:.:::IF\``;!Tys;:..::::::::`|; .::_I\sFaDMMMM;
::.::. ...:_T3Ts\[qqs[s!;;`: .... ....:`"\ssTaD#MMMs:
:.... :IMMM3s||\3as;:. .:::::.:..:`I\s[Ta$AMMM\`:
: .. `MMMMgs\!"`:. .. :`!|!"::::_rT3FT3QQQMMF. ..::..
`yMMM@aI"_`::::::`_I3gF|";_!|F33TFOgg$MM` .:. .
. .;;FMMM@ysr!!";!rs|r|N@AFrI|yaF||FqqyOQAA;..
.:`_"|AMMMMMMMMMMANyFaT3$g&MMM3|Taq|r|[TTFaONMMM! .
FMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM&ayT\!I||r\[FQMMMMMM!`:.
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM3\;`_!"""!\T&MMMMMMMMMI:.
MMMMMMMMMMMMMMMMMMWMMMMMMMMMMM#ar`:`````;!\aMMMMMMMMMMMMM3:
MMMMMMMMMMMMMMMMM&AgqyyF33T[I;``;``.. .`sNMMMMMMMMMMMMMMMMM[`
MMMMMMMMMMMMMMMMNgOy[\r!"_;````:::.:`|AMMMMMMMMMMMMMMMMMMMMMMr:.. .
MMMMMMMMMMMMMAMMQgy[r!";;`:::..:`IaMMMMMMMMMMMMMMMMMMMMMMMMMMMM&I_:
MMMMMMMMMMMMQWMM$q3s!`::::::;sAMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Starting the Application
To start Textograph, double-click on the Textograph.jar file. In most
operating systems (Windows, Mac OSX), this will start the application.
For Macintosh Classic (OS9), there's a special double-clickable icon
named Textograph in the Mac Classic distribution that will start the application. In Linux and Unix
systems, you can start the utility at the command line; enter
java -jar Textograph.jar
at the command line. In any case, you'll need a relatively recent Java
runtime installed to run the application. This is available as a free
download from Sun's website:
(Choose an entry in the JRE column on the webpage.)
Menu Selections
- Open image file...
Brings up a file selection dialog so
that an image (JPEG, GIF, PNG) can be read in for "textifying". The
image will be processed, and the resulting "textified" image will be
displayed in the main window. Various parameters can be adjusted to
improve the image (see "Show parameters dialog", below). Note that
images with strong contrast - very light and dark areas - will look
best when "textified".
- Save text image...
Brings up a file-save dialog so the
displayed "textified" image can be saved. The image is saved as plain
text, which can be viewed and edited in any text editor.
- Show parameters dialog...
Brings up the parameters dialog, which
provides parameters for adjusting the "textification" of the image. A
screenshot of the dialog is shown below.
- Font
- Font name
Specifies the font to be used in the
image. It's best to choose a "monospaced" font, one in which the
spacing of the characters is the same for all characters - i.e., where
an "i" has the same width as an "M".
- Font size
Specifies the size of font to be used in textifying the
image. The smaller the font, the better the resolution (since more charaters will fit in the image).
- Line spacing (pixels)
Specifies the vertical spacing, in pixels,
between two lines of text during textification. If this is too large,
i.e., is larger than the "real" spacing between lines of text in the
text editor, the image will appear elongated vertically when it's
viewed in the text editor after saving.
- Characters to omit
Specifies characters that shouldn't be used to generate the
"textification" of an image. The default specifies the characters
"<" and ">"; these have been omitted because they're used in HTML
to specify formatting tags, and if present in a "textified" image may
cause the image to be incorrectly displayed in some web browsers.
Similarly, if you want to include a "textified" image as a comment in
your C/C++/Java source code, you'll probably want to omit the
characters "/" and "*", since these are used to delineate comments.
- Color offset
The color offset sliders can be
adjusted to offset the color in an image. This is often needed to
lighten or darken an image so the range of shades can be displayed well
by the text characters. If a "textified" image shows up as too light,
try moving the sliders to the left; if the image shows up as too dark,
being composed mostly of "M"s, try moving the sliders to the right. By
adjusting the various colors independently, the text image can often be
improved.
Questions/comments: jsevy@mcs.drexel.edu