2010-09-28 53 views
8

Tôi muốn vẽ một đường cong nối ba điểm trong màn hình của tôi
PointA = (480,46) PointB = (160.137) PointC = (0.228)Vẽ một đường cong hoàn hảo kết nối ba điểm

Làm thế nào để vẽ đường cong bằng API Android?
Xin vui lòng giúp ..

Cảm ơn,
Sen

+2

Loại đường cong nào? Một vòng cung của một vòng tròn? –

+0

Tôi cần vẽ một vòng cung hoàn hảo – Sen

+0

Bạn không thể vẽ vòng tròn hoàn hảo bằng cách sử dụng 2 đường cong Bezier, nhưng bạn có thể thêm nhiều vòng tròn để ước tính nó –

Trả lời

13

Dù tôi muốn, tôi có thể để tạo ra nó bằng cách sử dụng đoạn mã sau:

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; 
} 

này sẽ tìm ra hai bên của màn hình (Chế độ phong cảnh) và sẽ vẽ một đường cong hoàn hảo trên màn hình.

Các vấn đề liên quan