2 mia balabala Mia_balabala 于 2015.06.24 15:43 提问

C#窗口中画的直线不对,总是有重叠的地方

gh.DrawLine(p4, 0, pictureBox1.Height / 6, pictureBox1.Width, pictureBox1.Height / 6);
for (int j = 0; j <= num - 1; j = j + 1)
{float x1 = (float)(pictureBox1.Width / 4.0 * j);
float y1 = (float)(A_ChiJuCeLiangXiangDuiHuChang[j]);
float x11 = (float)(x1 + pictureBox1.Width / 4.0);

gh.DrawLine(p2, x1, 0 + pictureBox1.Height / 6, x1, pictureBox1.Height / 6 + y1);
gh.DrawLine(p2, x1, pictureBox1.Height / 6 + y1, x11, pictureBox1.Height / 6 + y1);
gh.DrawLine(p2, x11, pictureBox1.Height / 6 + y1, x11, pictureBox1.Height / 6 + 0);}
这是我编的程序,希望实现画出连接的折线表示误差曲线,这几个点的坐标是前后一致的,可是画出来的线并没有前后连接,反而看起来像是有重叠的样子,如图蓝线所示图片说明
并且最开始画的一条直线,如红线所示,并没有画满整个网格啊,不知道怎么回事,求高手解答!

1个回答

lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.24 19:38

gh.DrawLine(p4, 0, pictureBox1.Height / 6, pictureBox1.Width, pictureBox1.Height / 6);

p4的值不对了,你单步执行看一下或者用个messagebox弹出看一下

最好的办法就是单步调试,看一下drawline的参数就明白怎么回事了

Csdn user default icon
上传中...
上传图片
插入图片