>  기사  >  웹 프론트엔드  >  밝거나 어두운 측면에서 주어진 색상의 반대 색상을 어떻게 생성합니까?

밝거나 어두운 측면에서 주어진 색상의 반대 색상을 어떻게 생성합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-13 14:04:02942검색

How do you generate the opposite color of a given color in terms of light or dark?

주어진 색상에서 반대 색상 생성

문제:

어떻게 반대 색상을 만들 수 있나요? 밝음 또는 어두움 측면에서 현재 색상은 무엇입니까? 현재 색상이 검은색이면 흰색을 생성해야 하고, 그 반대도 마찬가지입니다.

해결책:

이 기능을 구현하려면 다음과 관련된 알고리즘을 활용할 수 있습니다. 다음 단계:

  1. 처음에는 현재 색상을 16진수(HEX) 형식에서 이에 상응하는 색상으로 변환합니다. 빨간색-녹색-파란색(RGB) 구성 요소.
  2. 그런 다음 255에서 해당 값을 빼서 R, G, B 구성 요소 각각을 반전시킵니다.
  3. 역전된 RGB 구성 요소는 그런 다음 다시 변환됩니다. HEX 형식으로 변환합니다.
  4. 마지막으로 유효한 형식을 보장하기 위해 필요에 따라 각 HEX 구성 요소 앞에 0을 붙입니다.

다음 단계에 따라 현재 HEX 색상을 입력으로 사용하고 반대 색상을 반환하는 invertColor라는 함수를 만들 수 있습니다.

function invertColor(hex) {
  // Convert HEX to RGB
  var r = parseInt(hex.slice(1, 3), 16);
  var g = parseInt(hex.slice(3, 5), 16);
  var b = parseInt(hex.slice(5, 7), 16);

  // Invert color components
  r = (255 - r).toString(16);
  g = (255 - g).toString(16);
  b = (255 - b).toString(16);

  // Pad each with zeros and return
  return "#" + padZero(r) + padZero(g) + padZero(b);
}

function padZero(str, len) {
  len = len || 2;
  var zeros = new Array(len).join("0");
  return (zeros + str).slice(-len);
}

이 함수는 반대되는 명암을 만들기 위해 색상을 반전시켜야 할 필요성을 고려하거나 dark.

예:

"#F0F0F0"(밝은 색상) 색상을 invertColor 함수의 입력으로 전달하면 "#202020이 반환됩니다. "(어두운 색).

위 내용은 밝거나 어두운 측면에서 주어진 색상의 반대 색상을 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.