在 canvas 中画一个正方形

Drawing a square in canvas

我有一个 canvas 正在绘制一个带有预定义边界的圆。

canvas.drawCircle((float) (getBounds().right / 2), (float) (getBounds().bottom / 2), (float) (getBounds().right / 2), paint);

现在我需要让它画一个正方形而不是圆形。所以这就是我修改的内容

(getBounds().right / 2) 而不是除以 2 我没有除以任何半径

怎么会溢出来。

这是正常圆的样子。

这就是我尝试将其变成正方形时的样子

有人可以建议我如何使用给定的边界绘制一个成功的正方形吗?

看起来答案很简单。

我所要做的就是将我的 rectpaint 传递给 Canvas::drawRect

这是代码

Rect rect = drawable.getBounds();
canvas.drawRect(rect, paint);

和结果图片