我正在从固定点绘制一条线,并将其移动一圈。取决于线的角度(具体是角度在圆的四分之一内),线的起始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的新手,所以也许我错过了一些东西。

最佳答案

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



如果您将行从像素的中间开始,则可能会更满意结果-例如使用80.49和140.49居中。



无论哪种方式,您都在尝试绘制带有笨拙像素的细线时遇到舍入问题。

10-07 12:59