>

CMYK 색상을 결합하고 혼합 할 수있는 괜찮은 알고리즘이 이미 있습니다. 그러나 실패하지 않고 추가 16 진 색상을 결합 할 수는 없습니다. 다른 색상을 허용하도록 알고리즘을 편집하는 방법을 알아내는 데 도움이 필요합니다. 다른 온라인 무료 앱에서 수행 된 것처럼 여러 색상을 혼합 할 수 있다는 것을 알고 있습니다.

다른 수정은 전체 혼합물을 100 %로 유지하는 것입니다. 현재는 모든 색상을 100 %로 최대로 늘릴 수 있지만 각 색상의 비율을 최대 100 %까지만 할 수있는 곳에 만들고 싶습니다.

전체 코드는 여기에서 찾을 수 있습니다 : https://jsfiddle.net/5dsgbne9/30/

여기서 수정해야 할 주요 색상 혼합 알고리즘

var slider = new Slider('#ex1', {
  formatter: function(value) {
    return 'Current value: ' + value;
  }
});
var colorPercentages = {};
var colors = document.getElementsByClassName("colors");
for (let i = 0; i < colors.length; i++) {
  if (!(colors[i].getAttribute("id") in colorPercentages)) {
    colorPercentages[colors[i].getAttribute("id")] = 0;
  }
  colors[i].addEventListener("click", function() {
    colorPercentages[colors[i].getAttribute("id")] = $("#ex1").val();
    colors[i].innerHTML = colors[i].getAttribute("id") + " " + $("#ex1").val() + "%";
    console.log(colorPercentages)
    //formula here!!
    let r = 255 * (1 - colorPercentages.Cyan / 100) * (1 - colorPercentages.Black / 100);
    let g = 255 * (1 - colorPercentages.Magenta / 100) * (1 - colorPercentages.Black / 100);
    let b = 255 * (1 - colorPercentages.Yellow / 100) * (1 - colorPercentages.Black / 100);
    $("body").css('background-color', 'rgb(' + r + ', ' + g + ', ' + b + ')');
  });
}


  • 답변 # 1

    내 바이올린 연주 :

    수정 : 새로운 바이올린

    https://jsfiddle.net/wg6bp210/15/

    내 솔루션은 요소에 존재하는rgb정보를 요구합니다.

    <button class="colors" id="Yellow" hexa="#ffff00">Yellow</button>
    
    

    되고있다

    <button class="colors" id="Yellow" hexa="#ffff00" r="254" g="221" b="0">Yellow</button>
    
    

    기본적으로 전체 코드를 다시 작성해야하지만 바이올린은 요청 된 모든 것을 수행합니다.

    1) 선택한 색상을 추가하고 그에 따라 배경 색상을 업데이트합니다.

    2) 총 100 %에 따라 버튼의 백분율을 업데이트합니다.

    3) 색상 비활성화를 위해 비활성화 동작을 구현했습니다. 이미 활성화 된 경우 클릭하십시오.

  • 이전 java - 문장에서 반복되는 단어를 찾기위한 정규식
  • 다음 javascript - ES6 화살표 함수에서 언제 ()와 {}을 사용해야합니까?