【发布时间】:2017-06-01 16:29:44
【问题描述】:
是否可以在 Android Studio 的画布上找到形状的中心?我已经记录了接触点,但似乎无法弄清楚。然而,画布 (0,0) 点似乎位于左上角,但画布上的路径/形状将中心点视为 (0,0)。
作为我所说的示例,请查看附件图片,我正在尝试找到绿点的位置。
提前感谢您的帮助。
【问题讨论】:
是否可以在 Android Studio 的画布上找到形状的中心?我已经记录了接触点,但似乎无法弄清楚。然而,画布 (0,0) 点似乎位于左上角,但画布上的路径/形状将中心点视为 (0,0)。
作为我所说的示例,请查看附件图片,我正在尝试找到绿点的位置。
提前感谢您的帮助。
【问题讨论】:
要找到Path 的中心,请使用computeBounds(bounds,exact) 方法,它将第一个参数RectF bounds 设置为路径的范围。那么只要取左右和上下坐标的均值就可以得到路径的几何中心。
// mPath is your path. Must contain more than 1 path point
RectF bounds = new RectF();
mPath.computeBounds(bounds, false); // fills rect with bounds
PointF center = new PointF((bounds.left + bounds.right) / 2,
(bounds.top + bounds.bottom) / 2);
【讨论】:
无需数学计算
RectF bounds = new RectF();
mPath.computeBounds(bounds, false);
float centerX = rectF.centerX();
float centerY = rectF.centerY();
【讨论】: