文字

ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSLSets the normalized HSL color

说明

bool ImagickPixel::setHSL ( float $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.

上一篇: 下一篇: