안녕하세요.
보통 Color 클래스에서 Color.red(int color) 등으러 컬러값의 각 r,g,b을 가져 오잖아요.
이 때 범위는 0~255 8bit이구요.
저는 여기서 5bit의 값만 즉 0~32의 범위를 가져오고 싶은데 찾아본대로
c = color;
int r = (c & 0xF80000) >> 19;
int g = (c & 0xF800) >> 6;
int b = (c & 0xF8) << 7;
이렇게 시프트연산을 해봤는데.. r 값만 0~32의 범위를 가져오지 g와 b는 훨씬 오버하는 값을 가져오더라구요ㅜㅜ
제 생각대로라면 각 r,g,b(0~255,0~255,0~255)를 r,g,b(0~32,0~32,0~32)로 가져와야 하는거 아닌가요?
아니면 다른 개념이라면 r,g,b 모두 각각 0~32의 값으로 가져오는 방법은 없을까요?