Path对象中的计算边界返回0

时间:2013-12-21 23:29:25

标签: java android graphics

我有一个简单的Android绘图应用程序,我想检测用户是否点击了一行。为了加快这个过程,我想获得所有路径的边界,并检查用户输入是否在快速消除某些路径的范围内。

我遇到的问题是方法:

    pathInstance.computeBounds(boundsObject,false);

始终返回0,或者更确切地说是一个包含全0的矩形。

奇怪的是,如果我调试我的应用程序,当应用程序在断点处停止时,我在屏幕上绘制,当应用程序继续执行时,computeBounds会起作用

以前有人有这个吗?我可以发布我的代码,但我只是想知道它是否是一个常见的问题?

编辑:我知道现在的问题并且已经破解了但是这个解决方案仍然不起作用。问题在于,当用户首先输入数据时,例如触摸被触摸到屏幕的触摸,并且当我向该路径添加点时,它永远不会更新边界计算。我现在手动迭代点并自己计算边界。

代码: DrawingPanel.java:

for (int index = 0; index < mSketches.size(); index++) {
            Sketch s = mSketches.get(index);
            canvas.drawPath(s.getPath().getPath(), s.getPaint());
            canvas.drawRect(10,10,50,50,rad);
            RectF temp = s.computeBounds();

            for (int i = 0; i < s.mEnds.size(); i++){
                canvas.drawPoint(s.mEnds.get(i).first, s.mEnds.get(i).second , endsPaint);
                canvas.drawCircle(s.mEnds.get(i).first , s.mEnds.get(i).second , END_STICK_WIDTH, rad);
            }
            canvas.drawRect(s.computeBounds(),rad);
        }

草图基本上是一对油漆和路径。

谢谢,

0 个答案:

没有答案