作业帮 > 综合 > 作业

请问一下MFC如何绘制平滑曲线啊,用Moveto Lineto有时候会有毛刺不平滑,有什么方法可以绘制的平滑些?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/27 16:18:47
请问一下MFC如何绘制平滑曲线啊,用Moveto Lineto有时候会有毛刺不平滑,有什么方法可以绘制的平滑些?
请问一下MFC如何绘制平滑曲线啊,用Moveto Lineto有时候会有毛刺不平滑,有什么方法可以绘制的平滑些?
用贝塞尔曲线绘制
再问: 请问一下怎么用啊?能举个例吗?谢谢!!!
再答: MoveTo,LineTo,是根据两个点,所以画的是直线 贝塞尔Bézier曲线的每一段是4个点,两个端点,2个控制点,控制点可以控制曲线在端点处的曲度,具体函数可见MSDN中CDC::PolyBezier 或 GDI+的 DrawBezier函数。这种一般用在很稀疏的点连接成曲线的情况; 还有一种情况,点本身很密,然后用MoveTo和LineTo将这些点连接起来,反应一段时间内点的变化趋势,就不适合用Bezier方法,而是需要对原始的点进行滤波处理,经过滤波后的点会离开原先点的位置,但会形成一条比较光滑曲线。这个你可以查有关滤波方面的资料,与绘图无关,属数字信号处理范畴。