2011-09-16 292 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()); 
    } 
}