2014-12-03 84 views
0

有沒有辦法讓像素的顏色爲(x,y),並檢查它的紅色是否爲紅色,然後發送觸摸事件。在onTouch上獲取顏色(像素)信息

我希望它在後臺運行,它應該始終檢查該像素(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 2014-12-03 13:00:48

+0

@Murtaza我想你讓我錯了。 我不想在onTouch上獲得像素的顏色,我想要的是對特定像素進行檢查,並在其顏色改變時觸摸事件應該被模擬。 – 2014-12-13 17:38:57

+0

這裏有簡單的邏輯。您可以使用r,g和b顏色代碼記錄x和y位置,並與時間間隔值進行比較,間隔可以通過許多方式實現,如AlarmManager和TimerTask – 2014-12-15 07:29:21