我正在尝试创建一个将在 onTouchEvent 上调整大小的圆形。
我已经关注了resizable rectangle帖子,但我认为由于缺乏数学知识,我不知道如何创建可调整大小的圈子。
我尝试过更改
canvas.drawRect(
left + colorballs.get(0).getWidthOfBall() / 2,
top + colorballs.get(0).getWidthOfBall() / 2,
right + colorballs.get(2).getWidthOfBall() / 2,
bottom + colorballs.get(2).getWidthOfBall() / 2, paint);
到 canvas.drawCircle();它创造了圆圈,但不是我想要的。
你能告诉我有没有这样的东西已经实现,或者我应该遵循什么点来将这个矩形示例转换为可调整大小的圆圈。
答案 0 :(得分:4)
所以,圆心将是:
float cx = (left + right) / 2f;
float cy = (top + bottom) / 2f;
- 非常明显。可以使用Math.hypot()
:
float radius = Math.hypot(top - bottom, right - left) / 2f;
因此,我们有中心和半径来画一个圆圈:
drawCircle(cx, cy, radius, paint);