2017-03-02 1 views
1

망막 자극과 유사한 단일 값으로 RGBA 색을 표현할 수 있습니까? 아이디어는 같은 : 양을 포착 화이트 (전체 자극) 블랙 용더 자연스러운 색상 표현 : RGBA 색상을 단일 부동 소수점 값으로 변환 할 수 있습니까?

  • 0.0 값 (NO 자극)
  • 1.0 사이

RGBA 색상이 값으로 표현되어야 매우 밝은 노란색이 매우 높은 값을 가져야한다

  • 매우 다르 : 자극의 그들은 눈처럼 원인 K 갈색은 낮은 값을 가져야합니다.

이것에 대한 아이디어가 있습니까? 그레이 스케일로 변환하는 것이 유일한 해결책입니까?

미리 감사드립니다.

답변

1

숫자를 나타 내기 위해 RGBA의 각 부분에 특정 숫자의 특정 비트를 할당하십시오. 각 부분이 8 비트 인 경우 첫 번째 8 비트는 R에 할당되고 두 번째 8 비트는 G에, 세 번째 8 비트는 B에, 마지막 8 비트는 A에 할당 될 수 있습니다.

RGBA 값이 = 15,4,2,1. 그리고 각각에 4 비트가 주어집니다. 바이너리에서 R은 1111, G는 0100, B는 0010, A는 0001입니다. 간단한 연결에서 최종 숫자는 1111010000100001 (이진수는 62497)입니다. G를 얻으려면 62497/256, 정수로 반올림 한 다음 모듈로 16을 만듭니다. 256은 오른쪽에서 첫 번째를 지나서 두 번째 위치이기 때문에 (즉 R은 세 번째 힘이 필요하고 B는 첫 번째 힘을 필요로합니다) 두 번째 힘에 16입니다. 16은 4 비트를 사용했기 때문에 2에서 4의 힘입니다. 62497/256 = 244, 244 % 16 = 4.

+0

빠른 응답과 도움을 주셔서 감사합니다. 이 인코딩 및 디코딩 프로세스는 "더 낮은 값을 갖는 어두운 색상"및 "높은 값을 갖는 밝은 색상"의 본질을 포착합니까? – thecritter

+0

다양한 색상은 사용되는 비트 수에 따라 다릅니다. 그게 내가 아는만큼. Java의 경우 적어도 어두운 값은 낮은 숫자와 관련됩니다. – ProgrammersBlock

관련 문제