簡體   English   中英

使用 HSV 淡化顏色?

[英]Lighten color using HSV?

在我的代碼中,我有這個:

public static int darkenColor(int color, float value) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= value; // value component

    return Color.HSVToColor(hsv);
}

我想創建它的對應物lightenColor 什么是正確的公式?

hsv[2] = Math.pow(hsv[2], value) 

如果值 >= 0,則始終位於 [0..1] 中。您可以對這兩種方法使用該公式。

用這個:

@ColorInt
public static int lightenColor(@ColorInt int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 1.4f;
    return Color.HSVToColor(hsv);
}

您可以通過更改 {hsv[2] *= 1.4f}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM