相关疑难解决方法(0)

用2点和圆心绘制圆弧

我有两个圆点和圆圈的中心.我想在这些点之间画一条弧.方法drawArc很简单,不符合我的目的.有人帮忙吗?

java drawing geometric-arc

13
推荐指数
2
解决办法
2万
查看次数

互动Android动画

我正在尝试在android中实现交互动画,用户可以在其中更改对象的大小并通过交互旋转它.

在此输入图像描述

这不是我想要实现的,但类似的东西.

我想让用户改变角度线'p',并且角度'a'应该改变.移动'p'wrt中心应该允许形状的大小改变.

我已经尝试了动画和动画师类,但它们并没有完全达到目的.

我不是要求任何代码,我只需要一个指针就可以实现.

animation android interaction user-interaction

6
推荐指数
1
解决办法
290
查看次数

如何在画布上的2点之间绘制曲线?

我已经尝试了很多不同的方法来自网络上的例子,但我似乎无法让这个工作.我正在尝试制作一种在画布上的两点之间绘制曲线的方法.曲线应由radius参数定义.

以下是我目前的代码.

public OverlayBuilder drawCurvedArrow(int startX, int startY, int endX, int endY, int curveRadius, int padding, int color) {
    PointF mPoint1 = new PointF(startX, startY);
    PointF mPoint2 = new PointF(endX, endY);
    Paint paint  = new Paint();
    paint.setAntiAlias(true);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(12);
    paint.setColor(color);
    Path myPath = new Path();

    myPath.moveTo(startX, startY);
    myPath.quadTo(mPoint1.x, mPoint1.y, mPoint2.x, mPoint2.y);
    canvas.drawPath(myPath, paint);

    return this;
}
Run Code Online (Sandbox Code Playgroud)

编辑

问题是我无法弄清楚如何弯曲画布上绘制的线条.

android canvas paint

5
推荐指数
1
解决办法
9884
查看次数

两点之间的画布中的Android路径addArc

我正在尝试在 android 中绘制一条弧线。在IOS中,用这个方法真的很容易做到

[path addArcWithCenter: radius: startAngle: endAngle: clockwise:]
Run Code Online (Sandbox Code Playgroud)

在 android 中,我有 3 个点(我的圆心,以及我想在它们之间画一条弧线的两个点):

Point center = new Point(..., ...);
Point p1 = new Point(..., ...);
Point p2 = new Point(..., ...);

int radius = (int) Math.sqrt(Math.pow(p1.x - center.x, 2) + Math.pow(p1.y - center.y, 2));
Run Code Online (Sandbox Code Playgroud)

但是如何使用 Path.addArc 方法在 p1 和 p2 之间绘制弧线?我已经尝试过(如何在画布上的两点之间绘制圆弧?):

RectF oval = new RectF();
oval.set(p2.x - radius, p2.y - radius, p2.x + radius, p2.y + radius);
path.addArc(oval, startAngle, endAngle - startAngle);
// startAngle : angle …
Run Code Online (Sandbox Code Playgroud)

android path ondraw android-canvas

3
推荐指数
1
解决办法
3762
查看次数