C# GDI+ 实时画线问题
大家好,我遇到了一个GDI+的实时绘图问题,想请教一下。就是我有一个K线图,然后我鼠标移动上去后,会有一个十字线。十字线的坐标就是鼠标的坐标。那么我画十字线,如何才能效率...
大家好,我遇到了一个GDI+的实时绘图问题,想请教一下。
就是我有一个K线图,然后我鼠标移动上去后,会有一个十字线。十字线的坐标就是鼠标的坐标。
那么我画十字线,如何才能效率呢?现在每次线都和背景融合在一起,每次鼠标移动都要全部绘制完一遍整个图形,所以很没有效率。有没有什么办法把十字线单独出来绘制和擦出。
分不多,麻烦各位了。 展开
就是我有一个K线图,然后我鼠标移动上去后,会有一个十字线。十字线的坐标就是鼠标的坐标。
那么我画十字线,如何才能效率呢?现在每次线都和背景融合在一起,每次鼠标移动都要全部绘制完一遍整个图形,所以很没有效率。有没有什么办法把十字线单独出来绘制和擦出。
分不多,麻烦各位了。 展开
5个回答
展开全部
你说的不太清楚
画十字丝就是点击就完成了? 还需要擦出功能?
ok不管怎么样 都需要一个对象保存你这个十字丝 用坐标点就可以了List<Point>
鼠标点击后List数组添加这个点 刷新RePaint也行,ReFresh也行
但在刷新事件里取到这个数组 重画全部十字丝
可以吗?
画十字丝就是点击就完成了? 还需要擦出功能?
ok不管怎么样 都需要一个对象保存你这个十字丝 用坐标点就可以了List<Point>
鼠标点击后List数组添加这个点 刷新RePaint也行,ReFresh也行
但在刷新事件里取到这个数组 重画全部十字丝
可以吗?
更多追问追答
追问
是鼠标的OnMouseMove事件里边,取得鼠标的坐标,然后在原图上画一条线。
鼠标不断的移动,这条线也跟着移动。
所以原来的要擦出,再画上新的。
追答
恩,你的k线图是背景 那它是一个bitmap类 然后鼠标移动重画时刷新效率是很高的 即bmp不会刷新 只会刷新bmp以上的部分 如果想更好可以只刷新鼠标位置那个小区域
效率低的原因可能是你每次重刷时重构了背景 直接用gdi (而不是用bmp )绘制上去了吧?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没画过,给你个思路,画十字时,应该记下原来的图,移开的时候,把原来位置的图画回去
追问
是叠加上去的一条线,按理说应该是2个层,一个原图做背景层,鼠标所在位置的线做一个层。但是这样做还没实验。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要了。加上对个性化的宽容,男孩子们在捯类男性腰身的词,即胸围较腰围宽大许多,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Cross;
追问
你这个是设置鼠标样式,我说的是十字线,不是一个东西哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询