在Android的APIDemos中有一個FingerPaint演示。 下面是手指在屏幕上移動時的代碼。在手指畫的情況下,Path.quadTo和Path.lineTo有什麼區別?
private void touch_move(float x, float y) {
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
mPath.quadTo(mX, mY, (x + mX)/2, (y + mY)/2);
mX = x;
mY = y;
}
}
我注意到這個演示使用mPath.quadTo,我認爲應該是mPath.lineTo,我試過了。以下是我的代碼:
private void touch_move(float x, float y) {
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
mPath.lineTo(x, y);
mX = x;
mY = y;
}
}
然後我再次嘗試,似乎沒有區別,爲什麼Google使用quadTo?
我在遊戲程序中聽到,他們使用quadTo繪製手指顏料,但爲什麼? Plz help ... thx
是的,我試着比較他們在PhotoShop。 quadTo更加流暢。 THX – StayFree 2013-04-09 14:46:20