函数名:ImagickPixel::setHSL()
适用版本:Imagick 3.0.0 或更高版本
用法: ImagickPixel::setHSL(float $hue, float $saturation, float $luminosity)
该函数用于设置ImagickPixel对象的HSL(色相、饱和度、亮度)值。
参数:
- $hue: 色相值,范围为0到1之间的浮点数。0表示红色,0.33表示绿色,0.67表示蓝色,1表示再次回到红色。
- $saturation: 饱和度值,范围为0到1之间的浮点数。0表示完全无彩色(灰度),1表示完全饱和。
- $luminosity: 亮度值,范围为0到1之间的浮点数。0表示黑色,0.5表示正常亮度,1表示白色。
示例:
// 创建一个ImagickPixel对象
$pixel = new ImagickPixel();
// 设置HSL值为纯红色
$pixel->setHSL(0, 1, 0.5);
// 将HSL值应用于图像,这里假设已经加载了一个图像对象
$image->transformImageColorspace(Imagick::COLORSPACE_HSL);
$image->setImageColorspace(Imagick::COLORSPACE_RGB);
// 在图像上绘制一个矩形,填充颜色为设置的HSL值
$image->drawImage(new ImagickDraw(), 0, 0, 100, 100);
// 显示图像
header("Content-Type: image/jpeg");
echo $image;
以上示例中,我们创建了一个ImagickPixel对象,并使用setHSL()
方法将其设置为纯红色。然后,我们将该HSL值应用于一个图像对象,并在图像上绘制一个矩形,填充颜色为设置的HSL值。最后,我们将图像输出到浏览器显示。