Php/docs/imagickpixel.sethsl

From Get docs

ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setHSLSets the normalized HSL color


Description

public ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity ) : bool

Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.


Parameters

hue
The normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.
saturation
The normalized value for saturation, with 1 as full saturation.
luminosity
The normalized value for luminosity, on a scale from black at 0 to white at 1, with the full HS value at 0.5 luminosity.


Return Values

Returns TRUE on success.


Examples

Example #1 Use ImagickPixel::setHSL() to modify a color

<?php//Create an almost pure red color$color = new ImagickPixel('rgb(90%, 10%, 10%)');//Get it's HSL values$colorInfo = $color->getHSL();//Rotate the hue by 180 degrees$newHue = $colorInfo['hue'] + 0.5;if ($newHue > 1) {    $newHue = $newHue - 1;}//Set the ImagickPixel to the new color$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);//Check that the new color is blue/green$colorInfo = $color->getcolor();print_r($colorInfo);?>

The above example will output:


Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Notes

Note:

Available with ImageMagick library version 6.2.9 and higher.