2013-04-02 79 views
0

我是新来的Android API,我正在研究一个应用程序,我有一个curveTool对象,它应该先画一条线,当你第二次触摸屏幕时,基本上创建一个控制点并基于控制点对先前绘制的线进行曲线。 所以基本上我有:二次贝塞尔曲线的控制点

public void touchStart(MotionEvent event) { 
    points = new ArrayList<PointF>(); 
    points.add(new PointF(event.getX(), event.getY())); 
} 

它创建的出发点和我有:

public void touchEnd(MotionEvent event) { 
    points.add(new PointF(event.getX(), event.getY())); 
} 

,我创建了线的终点,但我不知道我怎么会实现控制点采用quadTo()方法,并根据该曲线制作曲线。 还有第三种方法:

public void touchMove(MotionEvent event) { 
    points.add(new PointF(event.getX(), event.getY())); 
} 

,我不断添加点。

最后我得出使用下面的方法:

public void drawPreview(Canvas canvas) { 
    paint = new Paint(); 
    paint.setAntiAlias(true); 
    paint.setStyle(Style.STROKE); 
    paint.setColor(Color.BLUE); 
} 

我知道,有大量的代码失踪,但我不知道如何实现它。我将不胜感激任何帮助!

+0

你问如何在Android设备上绘制二次曲线?你是否要求超过链接http://developer.android.com/reference/android/graphics/Canvas.html(调出drawPath)和http://developer.android.com/reference/android/graphics/Path .html(呼叫quadTo)? – BlueMonkMN

+0

我基本上不知道如何创建一个控制点,并在拖动它时弯曲我的线条 – user2237574

+0

所以你问的是如何构建你的应用程序来跟踪用户的触摸并将它连接到一个点,并使得该点的行为曲线上的控制点,您还需要维护端点以进行绘制曲线? – BlueMonkMN

回答

0

为了使用quadTo,您必须创建一个Path对象,在Path上调用quadTo,然后将该路径绘制到画布上。