NAME
Image::Caa - Colored ASCII Art
SYNOPSIS
use Image::Caa;
use Image::Magick;
# load an image
my $image = Image::Magick->new;
$image->Read('sunset.jpg');
# display it as ASCII Art
my $caa = new Image::Caa();
$caa->draw_bitmap(0, 0, 40, 20, $image);
# some fancy options
my $caa = new Image::Caa(
driver => 'DriverANSI',
dither => 'DitherOrdered8',
black_bg => 1,
);
$caa->draw_bitmap(0, 0, 40, 20, $image);
DESCRIPTION
This module outputs Image::Magick image objects as ASCII Art, using a variety of output dithering modes and output drivers (currently supported is a plain old ANSI termical output driver and a curses driver).
METHODS
new( opt => 'value', ... )-
Returns a new
Image::Caaobject. The options are as follows:driverOutput driver. Valid values are:
DriverANSI(default)DriverCurses
ditherDithering mode. Valid values are:
DitherNone(default)DitherOrdered2DitherOrdered4DitherOrdered8DitherRandom
black_bgSet to 1 to enable black background mode. By default, we use colored backgrounds to allow 256 colors (16 foreground x 16 background)
windowUsed only by the Curses output driver. Indicates the Curses window to write output into.
draw_bitmap($x1, $y1, $x2, $y2, $image)-
Draws the image
$imagewithin the box bounded by($x1,$y1)-($x2,$y2). Note that the default (ANSI) output driver ignores the origin position as uses only the absolute box size.
EXTENDING
Both the dithering and driver backends are plugable and fairly easy to create - just create modules in the Image::Caa::* namespace. Dither modules need to implement the new(), init($line), get() and increment() methods. Driver modules need to implement the new(), init(), set_color($fg, $bg), putchar($x, $y, $char) and fini() methods. Look at the existing modules for guidance.
AUTHORS
Copyright (C) 2006, Cal Henderson <cal@iamcal.com>
This library is based on libcaca's bitmap.c
libcaca is Copyright (C) 2004 Sam Hocevar <sam@zoy.org>
libcaca is licensed under the GNU Lesser General Publice License