0

在使用画布的手指绘画应用程序中,当我打电话时invalidate(),绘图质量很好,但绘图速度很慢,当我打电话时invalidate(mRect),我有类似手部振动的感觉。
在此处输入图像描述

private boolean touch_move(int x, int y)
    {

        float dx = Math.abs(x - mX);
        float dy = Math.abs(y - mY);            
        int rr = 10;
        Rect mRect = new Rect();
        if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE)
        {
            mPath.quadTo(mX, mY, (x +mX) / 2, (y + mY) / 2);
            TabiCal.myPoints.add(new MyPoint(x, y, mX, mY, TabiCal.color_flag,
                    TabiCal.thick_flag, 2));                
            mRect.set(x - rr, y - rr, x + rr, y + rr);
            invalidate(mRect);
            mX = x;
            mY = y;         
        }
        return true;
    }

我用过antiAlias(true),但没有帮助我。什么是解决方案?

4

1 回答 1

0

你可以看看我前段时间给出的一个答案: Android How to draw a smooth line following your finger

或者Square工程师的这篇文章,非常不错:http ://corner.squareup.com/2010/07/smooth-signatures.html

于 2012-11-30T01:01:54.580 回答