ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setHSL设置标准化的 HSL 颜色

描述

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

使用色调、饱和度和亮度的标准化值设置 ImagickPixel 对象所描述的颜色。

参数

色调

色调的标准化值,描述为色调圆的几分之一弧(介于 0 和 1 之间),其中零值为红色。

饱和度

饱和度的标准化值,1 为完全饱和。

亮度

亮度的标准化值,范围从黑色 0 到白色 1,全 HS 值为 0.5 亮度。

返回值

成功时返回 true

示例

示例 #1 使用 ImagickPixel::setHSL() 修改颜色

<?php

// 创建一个几乎纯红色的颜色
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

// 获取它的 HSL 值
$colorInfo = $color->getHSL();

// 将色调旋转 180 度
$newHue = $colorInfo['hue'] + 0.5;
if (
$newHue > 1) {
$newHue = $newHue - 1;
}

// 将 ImagickPixel 设置为新颜色
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

// 检查新颜色是否为蓝色/绿色
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

上面的示例将输出

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

注释

注意:

适用于 ImageMagick 库版本 6.2.9 及更高版本。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top