日期:2014-05-18  浏览次数:20899 次

请问“橡皮线”如何实现啊?
我想实现如下的功能:在form上画了一条直线,该直线可以被选中,移动,拉伸和旋转,听其他人说,这个应该叫“橡皮线”

请教大家,C#里如何编写这个,能提供实例或网址吗?谢谢。

------解决方案--------------------
GDI+
------解决方案--------------------
双缓冲画线
------解决方案--------------------
这个橡皮线如果用GDI+ 实现起来还是很烦琐的..

你绘制线到窗体 必须还的保留线的起点和终点.
判断鼠标的位置是在线上..
进行
选中,移动,拉伸和旋转,听其他人说,这个应该叫“橡皮线” 

选中根据线生成一个多边形..绘制边缘,

移动 根据鼠标移动两个点

拉伸 一动一个点.

旋转... 这个不知道怎么计算两个点的.



------解决方案--------------------
http://www.codeproject.com/KB/GDI-plus/lineditor.aspx
------解决方案--------------------
代码太多,lz看看这两个方法
ControlPaint.DrawReversibleFrame
ControlPaint.DrawGrabHandle