Formats#
After an image
is coverted to a text_matrix
, it must be formatted before it can be output.
Procedure#
There are steps involved in this process that are common to all formatters
. Picharsso defines a BaseFormatter
that abstracts this general procedure.
Initialization#
This step assigns values to the parameters for the algorithms.
Color#
The colorize
parameter controls whether the output text must include the colors from the image.
Consider the following image:
Here's what it should look like:


Vectorization#
The vcolor
attribute is a vectorized version of the color
method.
Translation#
The elements of the text_matrix
are encoded in the Unicode standard.
Depending on the output format, these characters must be translated accordingly.
Source
Refer to the translate
function for more information.
Colorization#
Colors are pooled from the original image
by resizing it to the dimensions of the output text. This ensures that each character has a unique pixel, and thus, a unique color.
With the vectorized color
method, vcolor
, the elements of the text_matrix
are transformed into strings of text that represent the original character as well as its color.

Source
Refer to the color
function for more information.
Unification#
Finally, the text_matrix
is unified into a single string of text. This text, when viewed through a means supporting the particular format, should look like the original image.
Source
Refer to the unify
function for more information.
Varities#
All the following formats are implemented by a formatter
which inherits from the BaseFormatter
.
ANSI#
- The ANSI format is implemented by the
AnsiFormater
.
HTML#
- The HTML format is implemented by the
HtmlFormater
.