在使用画布的手指画画应用程序中,当我调用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)
,但没有帮助我。什么是解决方案?
答案 0 :(得分:0)
您可以查看我之前给出的答案:Android How to draw a smooth line following your finger
或者来自Square工程师的这篇文章非常好:http://corner.squareup.com/2010/07/smooth-signatures.html