如何在android中绘制一个在特定路径(Arc)中移动的位图?

时间:2011-09-20 13:48:45

标签: android canvas bitmap shape custom-component

我正在尝试创建一个自定义组件。我有一个位图图像作为标记,它必须沿弧形方向行进。标记的位置是使用用户的触摸定位的。 即使用户试图将标记拖到弧外,也不可能。

现在在Canvas中使用onDraw我绘制了一个圆弧和标记位图图像。但是不知道如何使位图仅遵循该弧。

1 个答案:

答案 0 :(得分:1)

您需要编写一个函数,在弧上找到距离用户触摸点的距离最小的点。弧上的那一点是您想要绘制图像的地方。

现在,该计算在很大程度上取决于您如何将弧表示为数学函数。这是“Analytic Geometry

的主题

但是一种不太准确和简单的方法(如果滑动不需要平滑),如果你在弧上选择一些采样点并仅使用这些点来计算这个距离,最后你选择一个距离最短。你选择的点越多,它就越“滑动”。