PHP Conference Japan 2024

ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

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

描述

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

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

参数

hue

色相的标准化值,表示为色相环的分数弧(介于 0 和 1 之间),其中 0 值为红色。

saturation

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

luminosity

亮度的标准化值,范围从黑色(0)到白色(1),在 0.5 亮度下具有完整的 HS 值。

返回值

成功时返回 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