Android drawLine的起点随角度而变化

时间:2013-07-20 18:50:58

标签: java android line android-canvas

我从一个固定点画一条线并将它移动成一个圆圈。根据线的角度(特别是角度在圆的四分之一处),线的起始x和y坐标变化。请参阅此video以了解我的意思。

我在线后面放了一个白色的2x2像素正方形,以更好地显示起始x和y坐标的变化。该线应从正方形的右下角像素绘制。

以下是我在DrawFrame方法中运行的代码:

radians = Math.toRadians(angle);
x2 = 15.0 * Math.cos(radians);
y2 = 15.0 * Math.sin(radians);
c.drawLine(80, 140, 80 + (float)x2, 140 + (float)y2, mPaint);
angle += 1;

c是Canvas,mPaint是一个新的Paint()对象。

我是Android的新手,所以也许我错过了一些东西。

1 个答案:

答案 0 :(得分:2)

从技术上讲,对于浮点精度,您的起点是白框的确切中心,即80,140的左侧和顶部。

enter image description here

如果您的行开始位于像素的中间,您可能会对结果感到满意 - 例如使用80.49和140.49作为中心。

enter image description here

无论哪种方式,你只是在尝试用笨重的像素绘制细线时遇到圆角问题。