Image::Caa - Colored ASCII Art


Image-Caa documentation  | view source Contained in the Image-Caa distribution.

Index


NAME

Top

Image::Caa - Colored ASCII Art

SYNOPSIS

Top

  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

Top

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

Top

new( opt => 'value', ... )

Returns a new Image::Caa object. The options are as follows:

* driver

Output driver. Valid values are:

* DriverANSI (default)
* DriverCurses

* dither

Dithering mode. Valid values are:

* DitherNone (default)
* DitherOrdered2
* DitherOrdered4
* DitherOrdered8
* DitherRandom

* black_bg

Set to 1 to enable black background mode. By default, we use colored backgrounds to allow 256 colors (16 foreground x 16 background)

* window

Used only by the Curses output driver. Indicates the Curses window to write output into.

draw_bitmap($x1, $y1, $x2, $y2, $image)

Draws the image $image within 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

Top

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

Top

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

SEE ALSO

Top

Image::Magick, http://sam.zoy.org/libcaca/


Image-Caa documentation  | view source Contained in the Image-Caa distribution.