ImagickPixel::setHSL
(PECL imagick 2, PECL imagick 3)
Sets the normalized HSL color
Description
Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.
Parameters
hueThe normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.
saturationThe normalized value for saturation, with 1 as full saturation.
luminosityThe 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
Success
Examples
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
Available with ImageMagick library version 6.2.9 and higher.