2012-11-29 30 views
0

,當我撥打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),但並沒有幫助我。什麼是解決方案?

回答

0

您可以檢查出來的答案,我給了前一陣子:Android How to draw a smooth line following your finger

或者本文從廣場的工程師,這是非常好的:http://corner.squareup.com/2010/07/smooth-signatures.html

+0

感謝關注,但是我看到他們兩人[。這是簽名教程的結果](http://imageupper.com/s02/1/1/H13542579132257431_1.jpg) – Mehdi

+0

哪個教程?我提出的還是方形的? –

+0

圖片爲方形教程。問題取決於invalidate.d.d你沒有標題關於中值過濾器的任何東西 – Mehdi