xterm: #xxxxxx에서 0-255 색상 변환 - 어떻게?

xterm: #xxxxxx에서 0-255 색상 변환 - 어떻게?

다음과 같이 ANSI 확장 세트 배경 시퀀스를 사용하여 255개의 xterm-color(배경)를 모두 인쇄했습니다. ( 0-255 \033[48;5;%dm에서 대체 %d) 다음과 함께 #eee9bfvia를 사용하여 .Xdefaults xterm 창 색상을 설정 했습니다 xrdb.

XTerm*background: LemonChiffon2

#eee9bf김프 색상 선택기를 사용하여 육안 검사를 할 때 ANSI 색상이 일치하지 않을 수 있는 이유는 무엇입니까? xterm 색 영역은 0-255까지만 적용됩니다. 그렇다면 여기서 무슨 일이 일어나고 있나요? xterm은 어떻게 #xxxxxx0-255로 변환합니까? ANSI는 이것에 어떻게 적합합니까?

import sys

bgn_marker = '\033[48;5;%dm '
fgn_marker = '\033[%dm'
end_marker = '\033[0m'

text = "11. hello, how are you - today is not a it;s d'ay"
space = ' ' * 40

def burp(bg):
    print '######################## %d ####################################' % bg
    for fg in range(30,38):
        print (bgn_marker + fgn_marker + text + space + end_marker) % (bg, fg)

(제가 원하는 것은 vim/dmesg 등을 사용할 때 자주 표시되는 ANSI 색상을 숨기지 않는 xterm에 적합한 배경을 선택하는 것입니다.)

답변1

ANSI는 이 프로세스에서 아무런 역할도 하지 않습니다. 이것을 제외하고는 한 번도 해본 적이 없습니다.편리한 네이밍. ANSI는 대부분의 사람들이 0에서 7까지 번호를 매기는 8가지 색상 세트를 정의합니다. 이 구성표를 16, 88, 256색으로 확장하면편리한동일한 유형의 인덱스로 주소가 지정되는 색상 값 배열을 만듭니다.

X 서버(및 디스플레이 구성)가 차이를 만듭니다.

xterm은 리소스에서 또는 name으로 간접적으로 16진수 값을 가져오고 rgb.txtX 서버에 R/G/B 값에 "가까운" 색상을 요청합니다. 서버는 색상을 대략적으로 추정할 수 있으며 종종 그렇게 합니다. 읽기 시작하기에 좋은 곳은 (적절하게) xterm의 소스 코드입니다.AnsiColor 할당.

추가 자료:

관련 정보