如何使用用户触摸事件创建可调整大小的圆圈?

时间:2014-04-14 09:53:06

标签: android shape android-drawable

我正在尝试创建一个将在 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();它创造了圆圈,但不是我想要的。

你能告诉我有没有这样的东西已经实现,或者我应该遵循什么点来将这个矩形示例转换为可调整大小的圆圈。

1 个答案:

答案 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);