Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Convert::Color::RGB(3)User Contributed Perl DocumentatioConvert::Color::RGB(3)

NAME
       "Convert::Color::RGB" - a color value represented as red/green/blue

SYNOPSIS
       Directly:

	use Convert::Color::RGB;

	my $red	= Convert::Color::RGB->new( 1, 0, 0 );

	# Can also parse strings
	my $pink = Convert::Color::RGB->new( '1,0.7,0.7' );

       Via Convert::Color:

	use Convert::Color;

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

DESCRIPTION
       Objects in this class represent a color in RGB space, as	a set of three
       floating-point values in	the range 0 to 1.

       For representations using 8- or 16-bit integers,	see
       Convert::Color::RGB8 and	Convert::Color::RGB16.

CONSTRUCTOR
   $color = Convert::Color::RGB->new( $red, $green, $blue )
       Returns a new object to represent the set of values given. These	values
       should be floating-point	numbers	between	0 and 1. Values	outside	of
       this range will be clamped.

   $color = Convert::Color::RGB->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 floating-point values in decimal notation.

METHODS
   $r =	$color->red
   $g =	$color->green
   $b =	$color->blue
       Accessors for the three components of the color.

   ( $red, $green, $blue ) = $color->rgb
       Returns the individual red, green and blue color	components of the
       color value.

   $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.

   $measure = $color->dst_rgb( $other )
       Return a	measure	of the distance	between	the two	colors.	This is	the
       unweighted Euclidean distance of	the three color	components. Two
       identical colors	will have a measure of 0, pure black and pure white
       have a distance of 1, and all others will lie somewhere inbetween.

   $measure = $color->dst_rgb_cheap( $other )
       Return a	measure	of the distance	between	the two	colors.	This is	the
       sum of the squares of the differences of	each of	the color components.
       This is part of the value used to calculate "dst_rgb", but since	it
       involves	no square root it will be cheaper to calculate,	for use	in
       cases where only	the relative values matter, such as when picking the
       "best match" out	of a set of colors.  It	ranges between 0 for identical
       colours and 3 for the distance between pure black and pure white.

EXAMPLES
   Generating Gradients
       The "alpha_blend" method	can be used to generate	a smooth gradient
       between two colours.

	use Convert::Color;

	my $blue = Convert::Color->new("vga:blue");
	my $cyan = Convert::Color->new("vga:cyan");

	say $blue->alpha_blend(	$cyan, $_/10 )->as_rgb8->hex for 0 .. 10

SEE ALSO
       o   Convert::Color - color space	conversions

       o   Convert::Color::HSV - a color value represented as
	   hue/saturation/value

       o   Convert::Color::HSL - a color value represented as
	   hue/saturation/lightness

AUTHOR
       Paul Evans <leonerd@leonerd.org.uk>

perl v5.32.1			  2014-06-01		Convert::Color::RGB(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | METHODS | EXAMPLES | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Convert::Color::RGB&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help