c#的一个实时更新的绘图问题
想用C#实现这样一个程序,串口每一段时间输入一个位置坐标,界面上显示实时更新的位置点,这个要怎么实现呢?之前尝试了用graphics,但是存在的问题就是这个点出来之后再花...
想用C#实现这样一个程序,串口每一段时间输入一个位置坐标,界面上显示实时更新的位置点,这个要怎么实现呢?
之前尝试了用graphics,但是存在的问题就是这个点出来之后再花第二个不知道如何清除前一个点,之后又尝试了直接用picturebox改变它的位置,但是问题就在于picturebox的坐标只能是int32类型的。求教一下能显示带小数点坐标的能很好地实时更新位置的方法TT 展开
之前尝试了用graphics,但是存在的问题就是这个点出来之后再花第二个不知道如何清除前一个点,之后又尝试了直接用picturebox改变它的位置,但是问题就在于picturebox的坐标只能是int32类型的。求教一下能显示带小数点坐标的能很好地实时更新位置的方法TT 展开
展开全部
用graphics这个就可以吧。
this.Refresh()可以清除之前的点吧。
this.Refresh()可以清除之前的点吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用一个变量记录下不就可以了 ;
如果数据量少的话,直接声明两个数量就行了
Point priorPoint;//前一个坐标
如果数据量少的话,直接声明两个数量就行了
Point priorPoint;//前一个坐标
追问
请详细些说明。
现在我的问题在于如何清除前一个点@@
追答
如果在界面上实现比较简单,如下
首先声明一个变量用来存贮更新的坐标点
Point newPoint;
然后在Paint事件中写入如下代码:
Graphics g=e.Graphics;
g.DrawLine(newPoint,newPoint);//这是绘制一个点;
或者g.DrawImage(image,newPoint);//这是绘制一个图,image=要绘的图;
这样做有时候会产生闪烁,一般建议采用双缓冲的方式解决,具体自己搜一下吧!
当你有新坐标输入时,首先用newPoint存贮新坐标;然后执行界面的Invalidate()方法;
至于你所说的小数的问题,我觉得纯粹是数制转换的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-05
展开全部
Graphics g = pictureBox1.CreatGraphics();
g.Clear(pictureBox1.BackColor);
g.Draw......
g.Clear(pictureBox1.BackColor);
g.Draw......
更多追问追答
追问
这个picturebox是坐标点所在的画布?
追答
嗯
如果上面的方法不可行,可以使用:
pictureBox1.Refresh();
用后如果屏幕闪烁,可以:
开启双缓冲
this.DoubleBuffered = true;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询