Cal Henderson > Image-Caa > Image::Caa

Download:
Image-Caa-1.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View Bugs
Report a bug
Module Version: 1.01   Source  

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::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 ^

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

SEE ALSO ^

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