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