2014-10-16 4 views

답변

1

이것은 RGB 트리플렛 (3 개의 부호없는 8 비트 값)을 부호없는 32 비트 ARGB 값으로 변환하는 간단한 함수입니다.

연산자 << 연산자는 정수의 2 진수를 지정된 자리 수만큼 왼쪽으로 이동합니다. 예를 들어 다음과 같이 = 100 Yr 경우 = 150 YgYb는 = 200 다음은 RGB 정보가 저장되는 32 비트 수 0xFF6496C8로 끝날 것이다 :

---- alpha ---- ----- Yr ------ ----- Yg ------ ----- Yb ------ 
[1 1 1 1 1 1 1 1][0 1 1 0 1 0 0 0][1 0 0 1 0 1 1 0][1 1 0 0 1 0 0 0] 
alpha=255=0xFF Yr=0x64=100  Yg=0x96=150  Yb=0xC8=200 

알파 값을 (255)는 아마도 100 % 불투명도에 해당합니다.

궁금한 점이있는 경우 & 연산자는 원하지 않는 비트를 마스크하는 논리 AND 연산자입니다. 연결된 코드에서 Yr, Yg 및 Yb 값은 이미 0에서 255 사이의 값이므로 이미 필요하지는 않습니다.

그러나 RGB 값을 추출 할 때 유용합니다. 32 비트 ARGB 정수 (예 :

)
+0

감사합니다. –