GraphicsPath.AddCurve()方法效果优化
描述:
做一个画笔小工具在触屏白板上使用,我使用GraphicsPath来保存鼠标移动过的轨迹,并将轨迹显示出来
问题:
显示出来的线条不够平滑,写字的时候也不流畅。
在这里寻求帮助,欢迎各位大神前来指导。
------解决方案--------------------g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
设置了吗
------解决方案--------------------http://www.codeproject.com/Articles/8494/DrawTools
这个软件,可以下载下来研究一下!
------解决方案--------------------这个原因有几个:1)取的鼠标点就是不连续的;2)半身绘制线的时候就有锯齿
处理方式:(我的建议)
1)以每三个点(如12345五个点,123算一组,345算是一组,其中务必公用一个顶点)为一组,绘制2次Bezier曲线;(线的宽度可以定义)
2)在最终显示的时候使用抗锯齿算法,如果嫌麻烦,可以简单使用超采样算法
这样您整个线是光滑的,而且线的细节(每个像素)也是光滑的
------解决方案--------------------见下贴2楼: