Android 什么';在手指绘制的情况下,Path.quadTo和Path.lineTo之间的区别是什么?
Android的APIDemos中有一个FingerPaint演示。 下面是手指在屏幕上移动时的代码Android 什么';在手指绘制的情况下,Path.quadTo和Path.lineTo之间的区别是什么?,android,graphics,drawing,Android,Graphics,Drawing,Android的APIDemos中有一个FingerPaint演示。 下面是手指在屏幕上移动时的代码 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,
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;
}
}
然后我又试了一次,似乎没什么区别,为什么谷歌使用quadTo
我听说在游戏程序中,他们用quadTo来画手指画,但为什么呢?
Plz帮助…thx使用二次线(基本上是某种椭圆)四次曲线。LineTo是一条直线。QuadTo将在其转弯处平滑锯齿。根据: 四通(浮动x1、浮动y1、浮动x2、浮动y2) 从最后一个点添加一个二次贝塞尔曲线,接近控制点(x1,y1),并在(x2,y2)处结束。。 lineTo(浮动x,浮动y)添加从最后一个点到指定点(x,y)的直线
看起来像是quadTo()根据某个二次函数或抛物线绘制了一条曲线。lineTo()只是画了一条直线。是的,我试着在PhotoShop中比较它们。quadTo更平滑。谢谢你的回答,Gabe Sechan详细了解原因。