我有这个函数需要两个参数。它们是[r, g, b]
格式的数组。为什么我的混色功能不能按预期工作?
function mix(color1, color2)
{
var r = Math.round((color1[0] + color2[0])/2);
var g = Math.round((color1[1] + color2[1])/2);
var b = Math.round((color1[2] + color2[2])/2);
return [r, g, b];
}
如果我尝试混合红色(255,0,0)和蓝色(0,0,255),TT给我[128,0,128]
,这是紫色的。但如果我尝试混合蓝色(0,0,255),和黄(255,255,0)
console.log(mix([255,0,0], [0,0,255]));
console.log(mix([255,255,0], [0,0,255]));
它给了我灰色[128, 128, 128]
,而不是绿色。这是为什么发生?
你真的应该在该函数中用'var'声明“r”,“g”和“b”,不管这是否是问题的原因。 – Pointy
@Pointy同样的结果。 – Aillyn
你的脚本也适合我。 – Pointy