1

我正在从一个固定点画一条线并将其移动一个圆圈。根据线的角度(特别是角度在圆的哪个四分之一内),线的起始 x 和 y 坐标会发生变化。观看此视频以了解我的意思。

我在线条后面放置了一个白色的 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 新手,所以也许我遗漏了一些东西。

4

1 回答 1

2

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

在此处输入图像描述

如果你的线从像素的中间开始,你可能会对结果更满意——比如使用 80.49 和 140.49 作为中心。

在此处输入图像描述

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

于 2013-07-20T19:36:58.203 回答