我从一个固定点画一条线,然后绕着圆圈移动。根据线的角度(具体来说,角度在圆的四分之一内),线的起始 x 和 y 坐标会发生变化。看这个video明白我的意思。
我在线后放置了一个 2x2 像素的白色方 block ,以更好地显示起始 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 作为您的中心。
无论哪种方式,您都只是在尝试用笨拙的像素画一条细线时遇到舍入问题。
关于java - Android drawLine起点随角度变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765553/