# NAME

PDF::API2::Color - A OO-Color Module for PDFs.

# DESCRIPTION

A module for manipulation Colors within RGB, HSV and HSL color-spaces for usage within PDF-Documents especially with the PDF::API2::PDF::API modules.

# SYNOPSIS

    	use PDF::API2::Color;

    	$cl = PDF::API2::Color->new($colorname);
    	$cl = PDF::API2::Color->newRGB($r,$g,$b);
    	$cl = PDF::API2::Color->newHSV($h,$s,$v);
    	$cl = PDF::API2::Color->newHSL($h,$s,$l);

    	$cl->setRGB($r,$g,$b);
    	$cl->addBrightness($br);
    	($h,$s,$l) = $cl->asHSL;

# METHODS

::Color->new
::Color->newRGB $r, $g, $b
::Color->newHSV $h, $s, $v
::Color->newHSL $h, $s, $l
::Color->newGrey $grey
( $r, $g, $b ) = $cl->asRGB

Returns $cl's rgb values. Range [0 .. 1].

( $h, $s, $v ) = $cl->asHSV

Returns $cl's hsv values. Ranges h [0 .. 360], s/v [0 .. 1].

( $h, $s, $l ) = $cl->asHSL

Returns $cl's hsl values. Ranges h [0 .. 360], s/l [0 .. 1].

$grey = $cl->asGrey
$grey = $cl->asGrey2

Returns $cl's grey value. Range [0 .. 1]. Functions 2 returns the geometric mean of the corresponding RGB values.

$luminance = $cl->asLum

Returns $cl's grey value. Range [0 .. 1]. Functions 2 returns the geometric mean of the corresponding RGB values.

( $c, $m, $y )= $cl->asCMY

Returns $cl's cmy values. Range [0 .. 1].

( $c, $m, $y, $k )= $cl->asCMYK
( $c, $m, $y, $k )= $cl->asCMYK2
( $c, $m, $y, $k )= $cl->asCMYK3

Returns $cl's cmyk values. Range [0 .. 1]. Function 2 returns a 25% lighter color-equivalent. Function 3 returns a 25% lighter color-equivalent.

$hex = $cl->asHex

Returns $cl's rgb values as html's hex-digits.

$cl->setRGB $r, $g, $b

Sets the $cl's rgb values. Valid range [0 .. 1].

$cl->setHSV $h, $s, $v

Sets the $cl's hsv values. Valid ranges: h [0..360], s/v [0..1].

$cl->setHSL $h, $s, $l

Sets the $cl's hsl values. Valid ranges: h [0..360], s/l [0..1].

$cl->setGrey $grey

Sets the $cl's grey value. Valid range [0 .. 1].

$cl->setHex $hex

Sets the $cl's rgb values using 6 hex-nibbles.

$cl->addSaturation $saturation

Adds to the $cl's saturation in the HSV model. Valid range [-1 .. 1].

$cl->setSaturation $saturation

Sets the $cl's saturation in the HSV model. Valid range [0 .. 1].

$cl->rotHue $degrees

Rotates the $cl's hue in the HSV/L model. Valid range [-360 .. 360].

$cl->setHue $hue

Sets the $cl's hue in the HSV/L model. Valid range [0 .. 360].

$cl->addBrightness $brightness

Adds to the $cl's brightness in the HSV model. Valid range [-1 .. 1].

$cl->setBrightness $brightness

Sets the $cl's brightness in the HSV model. Valid range [0 .. 1].

$cl->addLightness $lightness

Adds to the $cl's lightness in the HSL model. Valid range [-1 .. 1].

$cl->setLightness $lightness

Sets the $cl's lightness in the HSL model. Valid range [0 .. 1].

# AUTHOR

Alfred Reibenschuh alfredreibenschuh@yahoo.com.

# HISTORY

version 0.1_03 -- first public test release

# BUGS

Some ... please report them.

# TODO

more color spaces ?