假设有一个任意的 RGB 颜色,这个颜色分别是 100% 的亮度,0% 是 0,0,0(黑色)。告诉我根据参考计算颜色的公式,以百分比表示亮度。
有一种想法,一切都比我想象的要简单:
double adjust = 0.5; // 0.1 - 10%, 1 - 100%
int r = (int) (r1 * adjust);
int g = (int) (g1 * adjust);
int b = (int) (b1 * adjust);
是这样吗?
假设有一个任意的 RGB 颜色,这个颜色分别是 100% 的亮度,0% 是 0,0,0(黑色)。告诉我根据参考计算颜色的公式,以百分比表示亮度。
有一种想法,一切都比我想象的要简单:
double adjust = 0.5; // 0.1 - 10%, 1 - 100%
int r = (int) (r1 * adjust);
int g = (int) (g1 * adjust);
int b = (int) (b1 * adjust);
是这样吗?
您可能应该使用不同的颜色模型。将您的颜色从 RGB -> HSB 转换,然后在不改变色调的情况下更改亮度/饱和度。
HSB 名称: