[英]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.