我使用DrawOval
函数在Java项目中的一点上方绘制一个圆:
g2d.drawOval(instruction.getX(), instruction.getY(), instruction.getWidth(), instruction.getHeight());
问题是我的圆被绘制成目标点在圆的外面而不是在中心。
我试图说明左边发生的事情以及我想在右边发生的事情:
我没有Java绘图经验,如何解决这个问题?
最佳答案
椭圆在给定点处绘制,因此它的顶部,左角在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
了解更多详细信息