Java Graphics2D.drawArc中的高度参数

Java Graphics2D.drawArc中的高度参数,java,swing,parameters,graphics2d,Java,Swing,Parameters,Graphics2d,我试图创建一个圆弧,但是当我使用相同的宽度和高度参数时,圆弧几乎是平的,不是应该更高吗?我本以为屏幕上的高度和宽度是一样的 public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g.create(); g2d.drawArc(0, 0, 100, 100, 45, 90); } 我也对drawArc感到失望。“改进” 我本以为屏幕上的高度和宽度是一样的 public void paintCo

我试图创建一个圆弧,但是当我使用相同的宽度和高度参数时,圆弧几乎是平的,不是应该更高吗?我本以为屏幕上的高度和宽度是一样的

public void paintComponent(Graphics g) {
    Graphics2D g2d = (Graphics2D) g.create();
    g2d.drawArc(0, 0, 100, 100, 45, 90);
}

我也对drawArc感到失望。“改进”

我本以为屏幕上的高度和宽度是一样的

public void paintComponent(Graphics g) {
    Graphics2D g2d = (Graphics2D) g.create();
    g2d.drawArc(0, 0, 100, 100, 45, 90);
}
这是因为你只画了90度的弧线。将该值更改为180,则宽度/高度将不同。即使绘制180,宽度/高度也不相同。宽度/高度仅在360度圆弧上相同

另外,您使用的是什么API?drawArc(…)只支持6个参数,不支持7个


当你问问题时,贴一张合适的照片,这样我们就可以看到你的行为了。

Owh谢谢,有没有计算出你画的度数和高度与宽度相同?很抱歉,我使用了这行代码:Shape arc2D=new arc2D.Double(xPos,yPos,shipWidth,shipHeight,45,90,arc2D.CHORD);但我想简化这个问题,却忘了删除最后一个参数。
但我想简化这个问题,却忘了删除最后一个参数
-这就是为什么你发布了SSCCE,所以我们知道代码是准确的,并且经过测试。我不知道我的数学,但我猜最后两个参数大概是(0,90)。或者(15,60),这些猜测的想法是弧的中心在45度。所以你也可以对其他三个象限做这个。
g2d.drawArc(0, 0, 100, 100, 45, 90, Arc2D.CHORD);