2011-09-16 462 views
0

演講活動中,我們知道,在觸摸屏方法的onTouchEvent(MotionEvent事件)讓你捕獲屏幕,並event.getX()event.getY()上的觸摸事件給我觸摸的座標作爲浮點值(即帶有逗號的值)。
具體來說,我意識到採取logcat使用手指屏幕上的固定點並不移動它,事件不僅被感知,而且事件不僅被感知,而且返回的座標是多方面的。這我可以理解,因爲手指的表面觸及更多的點和更多的閱讀設備座標認爲手指移動,而按住它。
問題與觸摸事件

我的問題是,我會讀彩色圖像的一個像素的顏色時,我仍然堅持你的手指。特別是我需要手指佔據中心區域。首先,假設你有一個Bitmap對象,因爲整個Bitmap的getPixel(intX,int y)座標想要返回像素顏色,所以我必須舍入到觸摸的整數座標。
那麼如何獲取觸摸的中心點?是否有一個功能可以幫助我?請記住,當我停下來,在圖像上讀出的像素值,然後我開始慢慢地,儘管我隨時記錄每一個移動中心像素移動。我需要這個,因爲每一個動作,如果你改變像素的圖像顏色,我想振動或不設備。
如果我可以停止在動態數組中考慮自己來存儲不同像素的座標並搜索重心,但移動時我不知道該怎麼做。然而,我認爲,重力研究中心如果做得不夠高效,在移動過程中會變得緩慢,然後給出錯誤的結果。如果CG對於我來說還不夠,那就屬於環境的另一點。
我希望你能幫助我,也許與勾勒的幾行代碼。 在此先感謝。

+0

請使用代碼塊格式化您的文章以提高可讀性。 – datalost

+0

我不認爲這種類型的方法會吸引用戶的回答你的問題。 –

回答

0

你可以把你放在主要活動課上,當你想觸摸事件發生時。讓看看你可以把以下代碼或不?而且回報也是最重要的。

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
if (event.getAction() == MotionEvent.ACTION_DOWN) { 
    mDistanceX = 0; 
    } 
    return super.onTouchEvent(event); 
    } 
1

要獲取手指的觸摸位置,只投了getX()getY()爲int,並執行所需的任務。

public boolean onTouchEvent(MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     getPixelAt((int)event.getX(), (int)event.getY()); 
    } 
}