DrawOval()位于一个点之上

时间:2013-09-13 08:15:01

标签: java

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

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

问题在于绘制了我的圆圈,使得目标点位于圆圈外而不是中心。

我试图说明左边发生的事情以及我想要发生在右边的事情:

我没有使用Java绘图的经验,我该如何解决?

1 个答案:

答案 0 :(得分: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了解详情