2014-12-03 4 views
0

픽셀의 색상을 얻는 방법이 있나요? (x, y) 빨간색인지 확인하고 적색 일 경우 터치 이벤트를 보냅니다.onTouch (Android)의 색상 (픽셀) 정보 가져 오기

배경에서 실행하고 항상 픽셀 (x, y)의 색을 확인하고 빨간색으로 바뀌 자마자 터치 이벤트를 시뮬레이트해야합니다.

답변

1

다음 예제에서 값을 얻을 수 있습니다.

final Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); 
imageView.setOnTouchListener(new OnTouchListener(){ 
     @Override 
     public boolean onTouch(View v, MotionEvent event){ 
      int x = (int)event.getX(); 
      int y = (int)event.getY(); 
      int pixel = bitmap.getPixel(x,y); 


      int red = Color.red(pixel); 
      int blue = Color.blue(pixel); 
      int green = Color.green(pixel);   
      return false; 
     } 
    }); 
+2

ImageView의 너비와 높이는 wrap_content 여야합니다. – hasan83

+0

@Murtaza 내가 잘못 생각한 것 같아. onTouch에서 픽셀의 색상을 얻고 싶지 않습니다. 원하는 것은 특정 픽셀을 확인하고 색상이 바뀌면 터치 이벤트를 시뮬레이트해야한다는 것입니다. –

+0

여기에는 간단한 논리가 있습니다. 당신은 r, g 및 b 색 코드로 x 및 y 위치를 기록하고 시간 간격에 대한 값과 비교할 수 있습니다. 간격은 AlarmManager 및 TimerTask와 같은 여러 가지 방법으로 가능할 수 있습니다 –

관련 문제