如何在fingerPaint中进行平滑快速的绘制

时间:2012-11-29 17:16:01

标签: android draw android-canvas

在使用画布的手指画画应用程序中,当我调用invalidate()时,绘图质量很好,但绘图速度很慢 当我打电话给invalidate(mRect)时,我有一些像手振动的东西 enter image description here

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),但没有帮助我。什么是解决方案?

1 个答案:

答案 0 :(得分:0)

您可以查看我之前给出的答案:Android How to draw a smooth line following your finger

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