2014-07-24 2 views

답변

6

사용 ColorDrawable :

ColorDrawable cd = (ColorDrawable) textView.getBackground(); 
int color = cd.getColor(); 
int alpha = cd.getAlpha(); 
int red = Color.red(color); 
int green = Color.green(color); 
int blue = Color.blue(color); 

Official Color Docs

Color 클래스는 컬러의 int를 생성하고 변환하는 방법을 정의합니다.

색상은 4 바이트로 구성된 압축 int로 표현됩니다 : 알파, 레드, 그린, 블루.

값은 unpremultiplied입니다. 즉, 모든 투명도는 색상 구성 요소가 아닌 알파 구성 요소에만 저장됩니다.

구성 요소는 다음과 같이 저장됩니다 (알파 < < 24). (빨간색 < < 16) | (녹색 < < 8) | 푸른.

각 구성 요소의 범위는 0과 0.255 사이이며, 구성 요소에 대한 기여도가 없음을 의미하고 255는 100 % 기여도를 의미합니다.

따라서 불투명 한 블랙은 16 진수 표기는 0xFF000000 (100 % 불투명하지만, 빨간색, 녹색, 파란색에서 더 기여)이 될 것이며, 불투명 한 흰색이 없을 것이다 0xFFFFFFFF를

Reference

+0

은 어떻게 얻을 않는 RG와 B는 'color'의 정수 값입니까? – nomongo

+0

위의 편집을 참조하십시오 – crocboy

+0

예제 코드도 확장했습니다 – crocboy