2024 PHP Conference Japan

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 代表白色,完整的 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 版及更高版本。

新增注意事項

使用者貢獻的注意事項

此頁面沒有使用者貢獻的注意事項。
To Top