두 가지 인수를 사용하는이 함수가 있습니다. 배열은 [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]
을 제공합니다. 왜 이런 일이 일어나는 걸까요?
"r", "g"및 "b"를 해당 함수에서 'var'로 선언해야합니다. 문제의 원인이 아니든 상관 없습니다. – Pointy
@Pointy 같은 결과가 있습니다. – Aillyn
또한 스크립트가 제대로 작동합니다. – Pointy