刚学mfc,看着例子画了个园,可是这个圆的边上的有锯齿,不好看,该怎样解决。

解决方案 »

  1.   

    初学的话,不要计较那么多。 用GDI+可以解决你说的问题, 但你现在还不应分心去学GDI+。如果绘图的话比GDI+更高级的还有 DirectX, 一步一步慢慢来。
      

  2.   

    本帖最后由 VisualEleven 于 2013-06-13 17:36:00 编辑
      

  3.   

    用POINT类型,加::Polyline();函数不知道符不符合要求
      

  4.   

    可以用GDI+,这个里面画圆、画直线等等其他图形,都能够消除锯齿
      

  5.   

    http://blog.csdn.net/genispan/article/details/5781273
      

  6.   


    确实如此,能用就可以。至于抗锯齿,多查查MSDN就知道了。另外MFC都淘汰了,建议直接上WTL吧
      

  7.   


    确实如此,能用就可以。至于抗锯齿,多查查MSDN就知道了。另外MFC都淘汰了,建议直接上WTL吧
    MFC 已经被淘汰了,我才开始学呢
      

  8.   

    和MFC或其他技术,没太大关系
      

  9.   

    是不是将逻辑坐标大于实际坐标,使线条变细,来消除锯齿
    你们好,为什么画圆会有它说的形象?我觉得不会吧。首先, 画一个圆,可以调用椭圆函数,  参数特殊的话,就会是一个圆了。怎么会有锯齿呢?难道我的法子不对吗?
    http://msdn.microsoft.com/en-us/library/9t6sa8s9.aspx
    比较一下这两个椭圆吧。
    左边显然是没有抗锯齿的。毕竟显示器的像素分布都是网格形式的,如果只填充整数的像素,必然会出现锯齿,因为真正的线条和曲线中像素是连续的。抗锯齿就是用特别的方法消除这种现象。
      

  10.   

    是不是将逻辑坐标大于实际坐标,使线条变细,来消除锯齿
    你们好,为什么画圆会有它说的形象?我觉得不会吧。首先, 画一个圆,可以调用椭圆函数,  参数特殊的话,就会是一个圆了。怎么会有锯齿呢?难道我的法子不对吗?
    http://msdn.microsoft.com/en-us/library/9t6sa8s9.aspx
    比较一下这两个椭圆吧。
    左边显然是没有抗锯齿的。毕竟显示器的像素分布都是网格形式的,如果只填充整数的像素,必然会出现锯齿,因为真正的线条和曲线中像素是连续的。抗锯齿就是用特别的方法消除这种现象。BOOL Ellipse(
      _In_  HDC hdc,
      _In_  int nLeftRect,
      _In_  int nTopRect,
      _In_  int nRightRect,
      _In_  int nBottomRect
    );
    绘制椭圆,无非就是用这个函数?
    难道这个函数有锯齿??
      

  11.   

    是不是将逻辑坐标大于实际坐标,使线条变细,来消除锯齿
    你们好,为什么画圆会有它说的形象?我觉得不会吧。首先, 画一个圆,可以调用椭圆函数,  参数特殊的话,就会是一个圆了。怎么会有锯齿呢?难道我的法子不对吗?
    http://msdn.microsoft.com/en-us/library/9t6sa8s9.aspx
    比较一下这两个椭圆吧。
    左边显然是没有抗锯齿的。毕竟显示器的像素分布都是网格形式的,如果只填充整数的像素,必然会出现锯齿,因为真正的线条和曲线中像素是连续的。抗锯齿就是用特别的方法消除这种现象。BOOL Ellipse(
      _In_  HDC hdc,
      _In_  int nLeftRect,
      _In_  int nTopRect,
      _In_  int nRightRect,
      _In_  int nBottomRect
    );
    绘制椭圆,无非就是用这个函数?
    难道这个函数有锯齿??这个GDI的方式的确会有锯齿。用GDI+的DrawEclipse不会。
      

  12.   

    是不是将逻辑坐标大于实际坐标,使线条变细,来消除锯齿
    你们好,为什么画圆会有它说的形象?我觉得不会吧。首先, 画一个圆,可以调用椭圆函数,  参数特殊的话,就会是一个圆了。怎么会有锯齿呢?难道我的法子不对吗?
    http://msdn.microsoft.com/en-us/library/9t6sa8s9.aspx
    比较一下这两个椭圆吧。
    左边显然是没有抗锯齿的。毕竟显示器的像素分布都是网格形式的,如果只填充整数的像素,必然会出现锯齿,因为真正的线条和曲线中像素是连续的。抗锯齿就是用特别的方法消除这种现象。BOOL Ellipse(
      _In_  HDC hdc,
      _In_  int nLeftRect,
      _In_  int nTopRect,
      _In_  int nRightRect,
      _In_  int nBottomRect
    );
    绘制椭圆,无非就是用这个函数?
    难道这个函数有锯齿??这个GDI的方式的确会有锯齿。用GDI+的DrawEclipse不会。
    多谢,懂了