gpt4 book ai didi

java - Java QuadCurve.2D 绘制不需要的线

转载 作者:太空宇宙 更新时间:2023-11-04 13:36:40 26 4
gpt4 key购买 nike

“我正在尝试在Java中绘制一条QuadCurve线。当我对每行中的x和y值进行硬编码时,我可以做到这一点,但是当我尝试从循环中绘制线时,我在顶部得到了一条不需要的线。我想将它放在一个循环中,以便我可以在另一个位置创建值并将值提供给我的绘图类。我认为这可能是一个循环问题。我“步入”代码并且数组中的值都是正确的。我在大学,所以感谢任何帮助.谢谢!

此代码有效:“

    Graphics2D g2 = (Graphics2D) g.create();          
g2.setPaint(Color.BLUE);

Shape drawLine1A = new QuadCurve2D.Float(40, 450, 100, 300, 210, 180);
Shape drawLine2A = new QuadCurve2D.Float(210, 180, 315, 150, 390, 240);
Shape drawLine3A = new QuadCurve2D.Float(390, 240, 430, 242, 480, 245);



g2.draw(drawLine1A);
g2.draw(drawLine2A);
g2.draw(drawLine3A);

“此代码无法正常工作:”

    Graphics2D g2 = (Graphics2D) g.create();          
g2.setPaint(Color.BLUE);
Shape line;

int[] x = {40, 100, 210, 210, 315, 390, 390, 430, 480};
int[] y = {450, 300, 180, 180, 150, 240, 240, 242, 245};
int k;
int h;
for(int i = 0; i < 7; i++)
{
k = i + 1;
h = k + 1;
line = new QuadCurve2D.Float(x[i], y[i], x[k], y[k], x[h], y[h]);
g2.draw(line);

}

最佳答案

“我后来发现了这一点。我必须将 i 增加 3 才能使坐标位于正确的位置。简单的修复。我看它太久了!”

关于java - Java QuadCurve.2D 绘制不需要的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31628989/

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