주어진 배경색에 수준 텍스트 전경색
저는 색상 선택 버튼을 그리고 RGB에서 주어진 배경색에 대해 좋은 텍스트 색상 (전경)을 얻을 수있는 멋지고 간단한 공식을 찾고 있습니다.
간단한 시도는 보색을 사용하는 것이지만 순수한 파란색 또는 순수한 빨간색과 같은 색상에 대해 이상하게 보이는 버튼이 생성됩니다.
잘 있습니까?
중요하다면 QT를 사용하고 있습니다.
가독성을 함께 사용하지 않고 최대 밝기를 사용하지 않습니다. 이를 수행하는 가장 일관된 방법 은 텍스트 색상에 검정색 또는 흰색 을 사용하는 것입니다. 미학적으로 더 즐거운 계획을 쉽게 생각할 수 있습니다.
검은 색 또는 흰색 중에서 선택해야합니다. 이것은 두 가지로 인해 조금 더 복잡해집니다.
인색 원색 빨강, 녹색 및 파랑의인지 된 밝기는 동일하지. (R * 0.299 + G * 0.587 + B * 0.114) 제가 드릴 수있는 가장 빠른 조언은 기존 기존 공식을 사용하여 RGB를 회색으로 변환하는 것입니다. 다른 많은 공식이 있습니다.
어느쪽에 감마 곡선은 중간 회색 값을 예상보다 생성합니다. 128이 아닌 중간 값으로 186을 사용하면 쉽게 쉽게 수 있습니다. 186보다 작은 것은 흰색 텍스트를 사용하고 186보다 큰 것은 검은 색 텍스트를 사용합니다.
저는 RGB와 관련된 프로그래밍에 대한 전문가는 대부분의 디자이너의 관점에서 볼 때 가장 가독성이 좋은 색상은 훨씬 더 밝거나 (배경색이 어두울 경우) 더 어두워집니다 (배경색이 밝은 경우). 같은 그늘.
기본적으로 RGB 값을 가져와 0 (어두움)에 가까우면 전경색에 대해 동일한 양만큼 높이거나 밝은 BG 인 경우 반대의 경우도 기본입니다.
보색은 실제로 가독성을 위해 눈에 정말 고통 스러울 수 있습니다.
가독성을 위해 개요 활용
만약에 생성에 의해 "좋은 텍스트 색상 (전경)" 당신을 위해 의도 가독성 의 사용자 선택한다면 때 목적 any background colour
, 당신은 항상 검은 윤곽을 가진 흰색 텍스트를 할 수 있습니다. 단색, 패턴 또는 배경, 검정색에서 흰색 및 그 사이의 모든 배경에서 읽을 수 있습니다.
당신의 의도에 맞지 편안하게 거기에 게시 할 가치가 있다고 생각합니다.
Mark의 응답을 기반으로 작업을 수행 할 Ruby 코드가 있습니다.
rgbval = "8A23C0".hex
r = rgbval >> 16
g = (rgbval & 65280) >> 8
b = rgbval & 255
brightness = r*0.299 + g*0.587 + b*0.114
return (brightness > 160) ? "#000" : "#fff"
광도 차이가 크면 더 좋습니다. 일반적으로 컬러 텍스트가있는 컬러 배경은 가독성을 떨어 뜨려 뜨리고 시간이 지남에 따라 눈을 손상시킵니다. 검은 색 텍스트가있는 옅은 색 (예 : HSB, S ~ 10 %, B> 90 %)는 잘 작동하거나 검은 색 배경 위에 옅은 녈의 텍스트가 작동합니다. 나는 둘 다 색칠하지 않을 것입니다. 흰색 배경 위에 미묘한 색상이있는 어두운 텍스트 (b ~ 30 %, s> 50 %)도 좋습니다. 진한 파란색 배경의 노란색 (황색) 텍스트는 검은 색의 호박색 또는 녹색처럼 가독성이 뛰어납니다. 이것이 오래된 dumbterms (vt100, vt52 등)가 설치 색상을 선택한 이유입니다.
'룩'을 위해 컬러 온 컬러를 수행해야하는 경우 H와 B를 모두 반전하고 채도를 중간 수준에서 낮은 수준으로 고정 할 수 있습니다.
마지막으로, 회색 배경이 50 %라면 인터페이스를 다시 생각해 봅니다. 레인지의 절반을 빼앗고 있습니다! 35 세 이상을 포함하여 눈에 잘지 않는 사용자를 소외 있습니다.
색상 조합은 신중하게 선택하지 종종 끔찍하게 선택하지 않습니다. 색상의 밝기에 따라 텍스트에 흰색 또는 검정색을 사용하지 않는 이유는 무엇입니까? (먼저 HSB로 변환해야합니다.)
또는 사용자가 흑백 텍스트를 선택합니다.
또는 미리 정의 된 조합을 사용하십시오. 이것이 Google이 제품에서하는 일입니다.
나는 simailr 답변을 번역이 게시물과 내가 공유 할 생각한 다른 게시물을 보았습니다. http://juicystudio.com/services/luminositycontrastratio.php#specify 에 따르면 "WCAG 2.0의 성공 기준 1.4.3은 텍스트의 성공 표현이 필요하며 텍스트의 이미지는 최소 4.5 : 1의 명암비가 있어야합니다." 예외. 이 사이트를 사용하면 전경색과 배경색을 대비하여 계산할 수있는 대안이나 범위를 제안하는 것이 도움이 될 것입니다.
색상 중를 보장하기 위해 최고의 사이트 하나는 http://colorizer.org/ 입니다 . 거의 모든 방식의 색상 (RGB, CMYK 등)을 조정 한 다음 결과를 보여줍니다. 노란색 배경에 흰색 텍스트와 같이 화면에 표시됩니다.
저는 보통 색 보완을 봅니다.
http://www.makart.com/resources/artclass/cwheel.html
색상이 HSL이면 적절한 계산을 위해 Hue를 180도 뒤집습니다.
HSV로 변환하는 것이 방법 일 수 있도록 IMO 색상 변경은 이상하게 보일 것입니다. (진한 빨간색 텍스트가있는 밝은 빨간색 버튼 ... 무서운 소리 :-)) 나는 그렇게하고 유지하고 가치와 채도를 조정하려고 노력할 것입니다.
참고 URL : https://stackoverflow.com/questions/946544/good-text-foreground-color-for-a-given-background-color
'ProgramingTip' 카테고리의 다른 글
C 매크로는 무엇에 유용합니까? (0) | 2020.10.26 |
---|---|
C #을 통해 웹 사이트에 로그인 (0) | 2020.10.26 |
Windows Form이 이미 있는지 확인하고 열려있는 경우 닫는 방법은 무엇입니까? (0) | 2020.10.26 |
단일 unix 명령에서 접두사를 사용하여 폴더의 모든 파일 이름 짓고 (0) | 2020.10.25 |
지시문에 양식 전달 (0) | 2020.10.25 |