问题描述
具体的绘图方式差不多了解了我写的是动态绘图从右向左移动现在唯一有一些缺憾的就是绘图最开始的一段里是直线怎么把他们隐藏掉呢?我调用绘图的类的时候,传进去的数组为初始化数组Point[]points=newPoint[500];后面用随机数传进去后续的值。publicvoidDraw_Lines(Colorcolor,PictureBoxpicbox,Point[]ptlist,intlasty){Pointtemp=newPoint();for(intj=0;j<picbox.Width-1;j++){temp=ptlist[j+1];ptlist[j]=newPoint(temp.X-1,temp.Y);}Pointlastpt=newPoint();lastpt.X=picbox.Width;lastpt.Y=lasty;ptlist[picbox.Width-1]=lastpt;Graphicsg2=picbox.CreateGraphics();g2.DrawLines(newPen(color,2),ptlist);}
以上为动态绘图的代码问题出在第一次传入值的时候即lastpt点的第一次赋值,前面数组点的初值都为(0,0),逐个移动后为(-1,0),而数组的最后一个点的坐标经赋值后为传入值,如(200,400)调用DrawLines()后,开始画的就是一条直线这条直线怎么隐去?我想达到的效果是开始绘图的一段时间图像从右往左移动,左边的一面是空白的。直到有用的数据图像占完整个屏幕。
解决方案
解决方案二:
不要DrawLines,而是用循环DrawLine这样就可跳过(0,0)和(-1,0)
解决方案三:
引用1楼xuzuning的回复:
不要DrawLines,而是用循环DrawLine这样就可跳过(0,0)和(-1,0)
刚看到您的回答~多谢指教。明天试试~
时间: 2024-09-28 05:32:34