2013-04-02 126 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,然後將該路徑繪製到畫布上。