0

我使用DrawOval函数在我的 Java 项目中的一个点上画一个圆圈:

g2d.drawOval(instruction.getX(), instruction.getY(), instruction.getWidth(), instruction.getHeight());

问题是我的圆圈被绘制成目标点在圆圈之外而不是在中心。

我试图说明左边发生了什么以及我想在右边发生什么:

我没有任何用Java绘图的经验,我该如何解决这个问题?

4

1 回答 1

2

椭圆在给定点绘制,因此它的左上角位于 x/y 位置。您需要将 x/y 偏移宽度/高度的一半...

int width  = instruction.getWidth();
int height = instruction.getHeight();
g2d.drawOval(instruction.getX() - (width / 2), instruction.getY() - (height / 2), width, height);

查看Graphics#drawOval更多详情

于 2013-09-13T08:18:19.580 回答