本人在vc编译环境下,用MoveTo(...)和LineTo(...)绘制一条直线时,如果是水平或垂直的,不会有任何显示问题;如果稍微有一点角度,则直线会有锯齿形,如何消除锯齿形的显示?在用word绘制流程框图时,它是如何将锯齿消除的?请高手赐教,谢谢

解决方案 »

  1.   

    这个技术是反走样算处理。 MFC 上没有自代的。OPenGL上有现成的,你可以自己写一下这个函数。 你也可以去查一下清华出的图形算法处理的书,上边讲的很多。
      

  2.   

    的确不太好办。
    OPenGL没有用过。
    关注~
      

  3.   

    用CDC 的polyline ,polybezier
      

  4.   

    还是带星的厉害,我查了下polyline ,polybezier,这两个函数,觉得应该是能解决楼主的问题的
      

  5.   

    polyline ,polybezier是能解决不了的问题,要是用过coreldraw的话就知道,它画出来的线是经过模糊处理(楼上所说的反走样处理),由于线上有深浅颜色的变化,看起来很光滑,把它抓屏放大就看到其中的变化了
      

  6.   

    你可以用GDIPLUS。GDIPLUS直接支持反走样。如果自己写算法就看一下关于反走样的算法书,关于图形学的书基本上都有的讲,不难
      

  7.   

    没有别的路可走,一定得用反走样,可以到这个地方去看一看,非常不错的,而且是中文的http://mays.soage.com/develop/effect/200111/WuLines.htm
      

  8.   

    非常感谢ayi7456,大概看了一下上面提到的文章,觉得很有道理,应该没问题,马上试试。