2010-09-28 46 views
8

我想繪製一條曲線在我的屏幕連接三個點
點A =(480,46) PointB =(160137) PointC =(0228)劃出一道完美的曲線連接三個點

如何使用Android API繪製曲線?
請幫助..

感謝,

+2

什麼樣的曲線?圓弧? – 2010-09-28 09:50:15

+0

我需要繪製完美的弧線 – Sen 2010-09-28 10:02:10

+0

您無法使用2條貝塞爾曲線繪製完美的圓形,但可以添加更多以近似它 – 2013-04-22 13:48:47

回答

13

任何我想做的,我可以使用下面的代碼生成它:

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    PointF mPoint1 = new PointF(w/1.2F, h/1.2F); 
    PointF mPoint2 = new PointF(w/24, h/1.2F); 
    Path myPath1 = new Path(); 
    Paint paint = new Paint(); 
    paint.setAntiAlias(true); 
    paint.setStyle(Style.STROKE); 
    paint.setStrokeWidth(2); 
    paint.setColor(Color.WHITE); 

    myPath1 = drawCurve(canvas, paint, mPoint1, mPoint2); 
    canvas.drawPath(myPath1, paint); 

} 

private Path drawCurve(Canvas canvas, Paint paint, PointF mPointa, PointF mPointb) { 

    Path myPath = new Path(); 
    myPath.moveTo(63*w/64, h/10); 
    myPath.quadTo(mPointa.x, mPointa.y, mPointb.x, mPointb.y); 
    return myPath; 
} 

這會發現屏幕的兩側(風景模式),並將在屏幕上繪製出完美的曲線。