(PECL imagick 2, PECL imagick 3)
ImagickPixel::setHSL — 設定標準化的 HSL 顏色
使用正規化的色相、飽和度和亮度值設定 ImagickPixel 物件的顏色。
色相 (hue)
正規化的色相值,以色相環的分數弧度表示(介於 0 和 1 之間),其中 0 值代表紅色。
飽和度 (saturation)
正規化的飽和度值,1 代表完全飽和。
亮度 (luminosity)
正規化的亮度值,範圍從 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 版及更高版本。