array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'imagickpixel.sethsl.php', 1 => 'ImagickPixel::setHSL', ), 'up' => array ( 0 => 'class.imagickpixel.php', 1 => 'ImagickPixel', ), 'prev' => array ( 0 => 'imagickpixel.setcolorvaluequantum.php', 1 => 'ImagickPixel::setColorValueQuantum', ), 'next' => array ( 0 => 'imagickpixel.setindex.php', 1 => 'ImagickPixel::setIndex', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/imagick/imagickpixel/sethsl.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — Sets the normalized HSL color
Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.
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.
Returns true
on success.
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 )
Note:
Available with ImageMagick library version 6.2.9 and higher.