2016-07-18 6 views
1

빨강, 녹색 및 파랑 값을 사용하여 이미지를 만들고 RGBI 이미지를 만들려면 AARRGGBB 배열 형태로 int []를 제공해야합니다. AARRGGBB 어레이의 형식은 어떻게 생겼습니까? 형식에 따라 {빨강, 녹색, 파랑}을 의미합니까?AARRGGBB 어레이의 형식은 무엇입니까?

+2

베스트 추측 약어 어디이 네 가지의 각 항목 (에서 (알파, * 적색, 녹색, 청색), *를 의미한다는 것입니다 * 0-255 * == * $ 00-FF) *는 4 바이트 * (32 비트) * 정수 값에서 1 바이트를 차지합니다. * (Alpha = 1, Red = 2, Green = 3, Blue = 4) *는 (16 진법을 사용하여) * * $ 01020304로 인코딩됩니다. * Alpha, 물론 픽셀의 투명도 *를 참조하여'$ 00'는 완전히 투명하고'$ FF' * (십진수 255) *는 완전히 불투명합니다. –

답변

1

의견에 언급 된 @mike-robinson은 꽤 표준적인 개념입니다. Java int에는 4 바이트의 데이터가 포함됩니다. MSB (최상위 바이트)는 LSB (최하위 바이트)의 빨강, 파랑 및 녹색으로 알파 팔로워입니다.

그래서 단지 같은 것을 사용 AARRGGBB의 INT를 설정합니다 :

int aarrggbbVal = ((0xff000000 & (alpha << 24)) | 
     ((0xff0000 & (red << 16)) | 
     ((0xff00 & (green << 8)) | 
     (0xff & blue); 
관련 문제