我有這個函數需要兩個參數。它們是[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