详解:多边形填充方式(ALTERNATE和WINDING)的区别

信息来源:http://blog.myspace.cn/1305051695/archive/2008/04/24/400893301.aspx

1.在ALTERANATE模式下:从左到右水平扫描!~~系统只填充每个扫描行的多边行的奇数边到偶数边的部分,不填充偶数边到奇数边的部分;

什么是水平扫描

就是显示器上的从左到右一行一行的水平扫描,假如你客户区大小是500X600,那就是从(0,0)到(500,0)这是第一次水平扫描,.....一直到(0,600)到(500,600)。共扫描了600次就扫描完了客户

什么是奇数边和偶数边:

这里说的奇数和偶数边完全是相对而言的啊,只是我们便于理解的一种方法,
就是说在水平扫描一行时,第一次遇到对线就把它定义为第一条边(注意:同一条线的话在不同的扫描行上相对的边可能不是一样的,这点一定要注意思了).,第二次遇到的线就是第二条边,以此类推;
那么对于一个矩形( 就单单一个矩形),左是第一条边,右是第二条边,上下它就什么都不是了,不会存在第三条边和第四条边的.
奇数边到奇数边,偶数边到偶数边其它跟本不会出现这种情况的;

2.对于WINDING模式下:填充奇数边到偶数边和ALTERANATE模式一样,但填充偶数边到奇数边的部分就不同了,你必须记主画线的方向,你可以取一个方向为正向,用一个计数器cnt = 0,当线经过正向时cnt就加1,反向时cnt就减1,如果最后cnt为0就填充这个区域,不为0就不填充!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值