The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Convert::Color::RGB8 - a color value represented as red/green/blue in 8-bit integers

SYNOPSIS

Directly:

 use Convert::Color::RGB8;

 my $red = Convert::Color::RGB8->new( 255, 0, 0 );

 # Can also parse strings
 my $pink = Convert::Color::RGB8->new( '255,192,192' );

 # or
 $pink = Convert::Color::RGB8->new( 'ffc0c0' );

Via Convert::Color:

 use Convert::Color;

 my $cyan = Convert::Color->new( 'rgb8:0,255,255' );

DESCRIPTION

Objects in this class represent a color in RGB space, as a set of three integer values in the range 0 to 255; i.e. as 8 bits.

For representations using floating point values, see Convert::Color::RGB. For representations using 16-bit integers, see Convert::Color::RGB16.

CONSTRUCTOR

$color = Convert::Color::RGB8->new( $red, $green, $blue )

Returns a new object to represent the set of values given. These values should be integers between 0 and 255. Values outside of this range will be clamped.

$color = Convert::Color::RGB8->new( $string )

Parses $string for values, and construct a new object similar to the above three-argument form. The string should be in the form

 red,green,blue

containing the three integer values in decimal notation. It can also be given in the form of a hex encoded string, such as would be returned by the rgb8_hex method:

 rrggbb

METHODS

$r = $color->red

$g = $color->green

$b = $color->blue

Accessors for the three components of the color.

( $red, $green, $blue ) = $color->rgb8

Returns the individual red, green and blue color components of the color value in RGB8 space.

$str = $color->hex

Returns a string representation of the color components in the RGB8 space, in a convenient RRGGBB hex string, likely to be useful HTML, or other similar places.

$mix = $color->alpha_blend( $other, [ $alpha ] )

Return a new color which is a blended combination of the two passed into it. The optional $alpha parameter defines the mix ratio between the two colors, defaulting to 0.5 if not defined. Values closer to 0 will blend more of $color, closer to 1 will blend more of $other.

$mix = $color->alpha8_blend( $other, [ $alpha ] )

Similar to alpha_blend but works with integer arithmetic. $alpha should be an integer in the range 0 to 255.

SEE ALSO

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>