我有一个灰度色彩,rgb(128, 128, 128),我想找到具有相同亮度的特定色调为0(红色)的颜色,在Javascript中实现。
我知道如何找到灰色的亮度,使用((0.3 * r + 0.59 * g + 0.11 * b)),但我想知道如何给该颜色添加色调。我希望白色保持不变,浅灰色变成浅红色,中灰色变成明亮的红色,深灰色变成暗红色,黑色仍然是黑色等。色调可能会改变。
目前我已经尝试了这个方法,但当给出白色时它会给出明亮的红色而不是白色。
我知道如何找到灰色的亮度,使用((0.3 * r + 0.59 * g + 0.11 * b)),但我想知道如何给该颜色添加色调。我希望白色保持不变,浅灰色变成浅红色,中灰色变成明亮的红色,深灰色变成暗红色,黑色仍然是黑色等。色调可能会改变。
目前我已经尝试了这个方法,但当给出白色时它会给出明亮的红色而不是白色。
// lightness = 0 - 255
// color = {r: 1, g: 0, b: 0}
newcolor = {};
newcolor.r = lightness * color.r;
newcolor.g = lightness * color.g;
newcolor.b = lightness * color.b;
return newcolor;
{r: 1, g: 0, b: 0}
应该是亮红色,而不是白色。 - JJJ