gpt4 book ai didi

java - 如何以给定的 X 和 Y 坐标绘制一个圆作为圆的中间点?

转载 作者:IT老高 更新时间:2023-10-28 20:37:23 27 4
gpt4 key购买 nike

我开发了一个用于定位信号塔信号强度的电信应用程序。我使用了 java swing,在移动信号发射塔位置的给定点周围绘制圆圈时遇到问题。我已经计算了 X、Y 坐标和半径值。

请找到下面我用来绘制圆圈的代码,但它有问题。

JPanel panelBgImg = new JPanel() {
public void paintComponent(Graphics g) {
g.drawOval(X, Y, r, r);
}
}

问题是,它创建了圆,但没有将 X 和 Y 坐标作为中心点。它将 X 和 Y 坐标作为圆的左上角。

谁能帮我把给定的X和Y坐标作为圆的中心点来画圆。

最佳答案

fillOval 将椭圆放入矩形内,width=r, height = r 你得到一个圆。如果您希望 fillOval(x,y,r,r) 以 (x,y) 为中心绘制一个圆,您必须将矩形替换一半宽度和一半高度。

public void drawCenteredCircle(Graphics2D g, int x, int y, int r) {
x = x-(r/2);
y = y-(r/2);
g.fillOval(x,y,r,r);
}

这将在 x,y

处绘制一个圆心

关于java - 如何以给定的 X 和 Y 坐标绘制一个圆作为圆的中间点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19386951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com