我正在尝试创建一个自定义组件。我有一个位图图像作为标记,它必须沿弧形方向行进。标记的位置是使用用户的触摸定位的。 即使用户试图将标记拖到弧外,也不可能。
现在在Canvas
中使用onDraw
我绘制了一个圆弧和标记位图图像。但是不知道如何使位图仅遵循该弧。
答案 0 :(得分:1)
您需要编写一个函数,在弧上找到距离用户触摸点的距离最小的点。弧上的那一点是您想要绘制图像的地方。
现在,该计算在很大程度上取决于您如何将弧表示为数学函数。这是“Analytic Geometry”
的主题但是一种不太准确和简单的方法(如果滑动不需要平滑),如果你在弧上选择一些采样点并仅使用这些点来计算这个距离,最后你选择一个距离最短。你选择的点越多,它就越“滑动”。