주어진 색상에서 반대 색상 생성
주어진 색상에서 반대 색상을 결정하는 것은 웹 및 그래픽 디자인에서 자주 요구되는 사항입니다. 이는 텍스트 색상이 동적이고 가독성을 위해 배경 색상을 조정해야 하는 경우 매우 중요합니다. 우리의 목표는 현재 색상을 가져와 그 반대 색상을 생성하여 고대비와 선명한 텍스트 가시성을 제공하는 색상을 만드는 것입니다.
반대 색상 생성을 위한 알고리즘
목표를 달성하기 위해 다음 알고리즘을 제안합니다.
- 현재 색상을 HEX에서 RGB 형식으로 변환합니다. 여기에는 빨간색, 녹색 및 색상을 추출하는 작업이 포함됩니다. HEX 코드의 파란색 값.
- R, G, B 구성 요소를 각각 반전합니다. 이는 (255 - 구성 요소)를 계산한다는 의미입니다.
- 변환 반전된 구성요소를 다시 HEX 형식으로 변경합니다.
- 각 HEX 구성요소를 0으로 채워 길이가 2자인지 확인합니다.
- 반전된 색상을 HEX 코드로 표시합니다.
JavaScript에서 알고리즘 구현
아래는 개략적인 알고리즘의 JavaScript 구현입니다.
function invertColor(hex) { if (hex.indexOf('#') === 0) { hex = hex.slice(1); } if (hex.length === 3) { hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; } if (hex.length !== 6) { throw new Error('Invalid HEX color.'); } var r = (255 - parseInt(hex.slice(0, 2), 16)).toString(16), g = (255 - parseInt(hex.slice(2, 4), 16)).toString(16), b = (255 - parseInt(hex.slice(4, 6), 16)).toString(16); 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); }
이 함수는 HEX 색상 코드를 허용하고 반대 색상을 반환합니다. 예를 들어 "#F0F0F0" 색상을 제공하면 반대 색상으로 "#0F0F0F"를 얻게 됩니다.
고급 옵션: 밝기 고려
일부에서는 경우에 따라 반대 색상을 생성할 때 색상의 밝기를 고려해야 할 수도 있습니다. 다음은 bw 매개변수를 포함하는 함수의 수정된 버전입니다.
function invertColor(hex, bw) { if (hex.indexOf('#') === 0) { hex = hex.slice(1); } if (hex.length === 3) { hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; } if (hex.length !== 6) { throw new Error('Invalid HEX color.'); } var r = parseInt(hex.slice(0, 2), 16), g = parseInt(hex.slice(2, 4), 16), b = parseInt(hex.slice(4, 6), 16); if (bw) { return (r * 0.299 + g * 0.587 + b * 0.114) > 186 ? '#000000' : '#FFFFFF'; } r = (255 - r).toString(16); g = (255 - g).toString(16); b = (255 - b).toString(16); return '#' + padZero(r) + padZero(g) + padZero(b); }
bw 매개변수가 true로 설정된 경우 함수는 주어진 색상이 밝은 경우(#000000) 검은색을 반환하고 밝은 경우 흰색을 반환합니다. 어둡습니다(#FFFFFF). 그렇지 않으면 이전과 반대되는 색상이 생성됩니다.
위 내용은 주어진 16진수 코드의 반대 색상을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.

우리는 그들이 2013 년에 크롬에 갔을 때 오페라를 잃었습니다. 올해 초 크롬 (Chrome)에 갔을 때 Edge와 같은 거래를했습니다. Mike Taylor는 이러한 변화를 "감소 적으로"불렀습니다

Trashy Clickbait 사이트에서 가장 8 월 출판물에 이르기까지 공유 버튼은 웹 전체에서 오랫동안 어디서 유비쿼터스되었습니다. 그럼에도 불구하고 이것들은 논쟁의 여지가 있습니다

이번 주에 Apple은 웹 구성 요소, Instagram이 Insta-Loading 스크립트의 방법 및 자조적 자체 호스팅 리소스를 생각하기위한 음식을 웹 구성 요소에 들어갑니다.

GIT 명령의 문서를 살펴 보았을 때 많은 사람들이 옵션이 있음을 알았습니다. 나는 처음에 이것이 단지 a라고 생각했다

어려운 문제가 어려운 것 같지 않습니다. 우리는 종종 수천 가지 색상의 제품 샷을 가지고 있으므로 우리는 다음과 같이 뒤집을 수 있습니다. 우리도 아닙니다

웹 사이트에 어두운 모드 옵션이있을 때 좋아합니다. 다크 모드는 웹 페이지를 더 쉽게 읽을 수있게하고 눈이 더 편안하다고 느끼도록 도와줍니다. 많은 웹 사이트를 포함합니다

이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
