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

FreeBSD Manual Pages


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

       "Convert::Color::HSL" - a color value represented as


	use Convert::Color::HSL;

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

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

       Via Convert::Color:

	use Convert::Color;

	my $cyan = Convert::Color->new(	'hsl:300,1,0.5'	);

       Objects in this class represent a color in HSL space, as	a set of three
       floating-point values. Hue is stored as a value in degrees, in the
       range 0 to 360 (exclusive). Saturation and lightness are	in the range 0
       to 1.

       This color space	may be considered as a cylinder, of height and radius
       1. Hue represents the position of the color as the angle	around the
       axis, the saturation as the distance from the axis, and the lightness
       the height above	the base. In this shape, the entire base of the
       cylinder	is pure	black, the axis	through	the centre represents the
       range of	greys, and the entire top of the cylinder is pure white. The
       circumference of	the circular cross-section midway along	the axis
       contains	the pure-saturated color wheel.

       Because both surfaces of	this cylinder contain pure black or white
       discs, a	closely-related	color space can	be created by reshaping	the
       cylinder	into a bi-cone such that the top and bottom of the cylinder
       become single points. The radius	from the axis of this shape is called
       the chroma (though this is a different definition of "chroma" than that
       used by CIE).

       While the components of this space are called Hue-Chroma-Lightness, it
       should not be confused with the similarly-named Hue-Chroma-Luminance
       (HCL) space.

   $color = Convert::Color::HSL->new( $hue, $saturation, $lightness )
       Returns a new object to represent the set of values given. The hue
       should be in the	range 0	to 360 (exclusive), and	saturation and
       lightness should	be between 0 and 1. Values outside of these ranges
       will be clamped.

   $color = Convert::Color::HSL->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


       containing the three floating-point values in decimal notation.

   $h =	$color->hue
   $s =	$color->saturation
   $v =	$color->lightness
       Accessors for the three components of the color.

   $c =	$color->chroma
       Returns the derived property of "chroma", which maps the	color space
       onto a bicone instead of	a cylinder. This more closely measures the
       intuitive concept of how	"colorful" the color is	than the saturation
       value and is useful for distance	calculations.

   ( $hue, $saturation,	$lightness ) = $color->hsl
       Returns the individual hue, saturation and lightness components of the
       color value.

   $measure = $color->dst_hsl( $other )
       Returns a measure of the	distance between the two colors. This is the
       Euclidean distance between the two colors as points in the chroma-
       adjusted	cone space.

   $measure = $color->dst_hsl_cheap( $other )
       Returns a measure of the	distance between the two colors. This is used
       in the calculation of "dst_hsl" but since it omits the final square-
       root and	scaling	it is 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 colors	and 4
       for the distance	between	complementary pure-saturated colors.

       o   Convert::Color - color space	conversions

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

       o   <> -	HSL and	HSV on

       Paul Evans <>

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


Want to link to this manual page? Use this URL:

home | help