填充模式是具有相交线的任何多曲线的属性。由于多曲线是复杂的形状,因此很难分清形状的内部和外部。填充模式是一种算法,可确定形状的内部和外部,这样在将复杂的形状导出为 SVG 文档片段时,就可以了解填充的情况,以便在 Web 应用中使用。
- 替代模式确定是否填充形状区段的方式是,从该点向任意方向绘制到无限远的射线,并计算该射线穿过给定形状内的区段数。如果此数字是奇数,则该区段存在于填充区域中;如果是偶数,则该区段在填充区域之外。
- 旋绕模式确定是否填充形状区段的方式是,从该点向任意方向绘制到无限远的射线,并计算形状区段与射线交叉的实例数。从零开始,从射线的角度来看,每当一个区段从左到右穿过射线,则增加一个计数,每当一个路径区段从右到左穿过射线,则减去一个计数。在计算交叉数量后,如果结果为零,则该点被视为在填充路径之外。否则,它位于路径内部。