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あなたの指に続いて滑らかな線を描く方法

または、Squareエンジニアからのこの記事は非常に優れています:http://corner.squareup.com/2010/07/smooth-signatures.html

于 2012-11-30T01:01:54.580 に答える