마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

bitmap.getPixel() 로 rgb값 추출하는 문제 질문드려요

0 추천
bitmap으로 이미지가 하나 선언되어 있구요

getPixel을 쓰면 값이 2의 보수라 음수로 나오길래 비트 연산을 해주었습니다           

 

int rgb = bitmap.getPixel(261,207);

int a = rgb& 0xFF;

 

그런데 이렇게 하면 a=255로 출력이 됩니다

rgb라는게 원래 r,g,b값이 각가 출력되서 255 255 255 같은 식으로 나와야하는 거 아닌가요?

도움 부탁드립니다ㅜㅜ
익명사용자 님이 2015년 10월 6일 질문

1개의 답변

+1 추천
&FF 연산 자체가 잘 못 되었습니다. int 는 4byte 값인데, &FF 연산만 하면  1byte 값 밖에 나오지 않죠..

int A = (argb >> 24) & FF;

int R = (argb >> 16) & FF;

int G = (argb >> 8) & FF;

int B = (argb ) & FF;

와 같이 연산하시는게 맞을 듯 합니다.

그나저나 A가 255인건 가능해도... B가 계속 255인건 좀 이상하네요.. 파란색 화면이 아니다면,

 Bitmap의 칼라포멧이  ARGB 형식이 아니라 RGBA 형식으로 되어 있는지  확인 해 보셔야 할 듯 합니다.
사악미소 (65,330 포인트) 님이 2015년 10월 6일 답변
...