2011-03-30 4 views
1

안드로이드에서 화면의 뷰에 대해 아무 것도 생각하지 않고 어떻게 (당신의 앱의) 화면의 우세한 색을 효율적으로 감지합니까?화면의 주된 색을 감지하십시오.

화면 픽셀에 액세스하는 더 효율적인 방법이 있는지 모르겠지만 첫 번째 단계는 화면에서 비트 맵을 생성하는 것입니다.

두 번째 단계에서는 비트 맵을 1x1 픽셀로 크기 조정하고 플랫폼에서 나를 감지 작업을 수행 할 생각 이었지만 안드로이드에서 이것이 가능한지 확실하지 않습니다.

+0

너는 이것을 위해 루트가 필요하다 –

답변

0

getDrawingCache을 사용하여 루트 레이아웃에서 Bitmap을 생성 해 볼 수도 있습니다 (아니요, 적어도 자신의 앱에서는 root가 필요하지 않습니다). 안드로이드 소스의 테스트에서 제공하는 an example은 이와 같은 작업을 수행하는 방법을 보여줍니다.

다른 사람의 앱을 사용하고 싶다면 root 권한이 필요한 스크린 샷 기능이 필요합니다.

+0

비트 맵에서 우세한 색을 탐지하는 것은 어떨까? – hpique

+0

이것은 "주된 색상"을 어떻게 정의 하느냐에 달려 있습니다. 퀀 타이즈 또는 무엇이든없이 가장 자주 발생하는 곧은 RGB 값을 의미하는 경우 픽셀을 루핑하는 것은 매우 간단해야합니다. 좀 더 복잡하거나 흥미로운 것을 원하면이 SO 질문이 유용 할 수 있습니다. http://stackoverflow.com/questions/1106190/algorithm-challenge-generate-color-scheme-from-an-image –

관련 문제