©
本文档使用 PHP中文网手册 发布
(PECL imagick 2.0.0)
ImagickPixel::setHSL — Sets the normalized HSL color
$hue
, float $saturation
, float $luminosity
)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.
成功时返回 TRUE
。
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 );
?>
以上例程会输出:
Array ( [r] => 26 [g] => 230 [b] => 230 [a] => 255 )
Note:
Available with ImageMagick library version 6.2.9 and higher.