(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — 设置标准化的 HSL 颜色
使用色相、饱和度和亮度的标准化值设置 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 及更高版本。