【发布时间】:2022-05-23 06:29:30
【问题描述】:
我想在我的屏幕上画一条连接三个点的曲线
PointA = (480,46)
PointB = (160,137)
PointC = (0,228)
如何使用 Android API 绘制曲线?
【问题讨论】:
-
什么样的曲线?圆弧?
-
你不能用 2 条贝塞尔曲线画出一个完美的圆,但你可以添加更多来近似它
标签: android
我想在我的屏幕上画一条连接三个点的曲线
PointA = (480,46)
PointB = (160,137)
PointC = (0,228)
如何使用 Android API 绘制曲线?
【问题讨论】:
标签: android
无论我想要什么,我都可以使用以下代码来生成它:
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;
}
这将找到屏幕的两侧(横向模式),并将在屏幕上绘制一条完美的曲线。
【讨论】: