Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 如何画一条上下都有的曲线?_C# 4.0_Drawing - Fatal编程技术网

C# 4.0 如何画一条上下都有的曲线?

C# 4.0 如何画一条上下都有的曲线?,c#-4.0,drawing,C# 4.0,Drawing,我使用下面的代码创建了3个点,将它们绘制成位图,然后将位图绘制到主窗体,但是它似乎总是在点2之前绘制点3,因为Y坐标低于点2。有没有办法克服这个问题,因为我需要一条上下弯曲的曲线,而不仅仅是向上弯曲 Bitmap bit = new Bitmap(490, 490); Graphics g = Graphics.FromImage(bit); Graphics form = this.CreateGraphics();

我使用下面的代码创建了3个点,将它们绘制成位图,然后将位图绘制到主窗体,但是它似乎总是在点2之前绘制点3,因为Y坐标低于点2。有没有办法克服这个问题,因为我需要一条上下弯曲的曲线,而不仅仅是向上弯曲

            Bitmap bit = new Bitmap(490, 490);
            Graphics g = Graphics.FromImage(bit);
            Graphics form = this.CreateGraphics();
            pntPoints[0] = this.pictureBox1.Location;

            pntPoints[1] = new Point(100,300);
            pntPoints[2] = new Point(200, 150);
            g.DrawCurve(p, pntPoints);


            form.DrawImage(bit, 0, 5);

            bit.Dispose();
            g.Dispose();

我建议您加入一个调试函数,该函数将标记和标识这些点本身,以便您可以准确地看到它们所在的位置。颜色不好的像素、点的索引和坐标一起将帮助您确定要去哪里


现在,我想知道,这两个点真的应该是绝对的,还是应该是相对于第一个点的?

点3的Y坐标不是更低,而是更高。0;图形的0点位于左上角,Y值从上到下而不是从下到上增加。所以一个0点;100将大于0;在结果图像上显示200


如果你想要一条先上后下的曲线,你应该把你的第一个点放在0;489,你的第二个分数是100分、190分,第三个分数是200分、340分。

谢谢你的回答,我发现了我的错误,所有的分数都是从表格的左上角,而不是左下角得出的,所以我的基础都不正确:|