fillRule
"nonzero":非零環(huán)繞原則攀隔,默認(rèn)的原則碍论。
"evenodd":奇偶環(huán)繞原則透敌。
1."nonzero":非零環(huán)繞原則
如果是與路徑順時(shí)針相交時(shí)抗果,那么計(jì)數(shù)器就加1, 如果是與路徑逆時(shí)針相交時(shí)迅耘,那么計(jì)數(shù)器就減1.
如果計(jì)數(shù)器始終不為0贱枣,那么此區(qū)域就在路徑范圍里面监署,在調(diào)用fill()方法時(shí),瀏覽器就會(huì)對其進(jìn)行填充纽哥。如果最終值是0焦匈,那么此區(qū)域就不在路徑范圍內(nèi),瀏覽器就不會(huì)對其進(jìn)行填充昵仅。
2."evenodd":奇偶環(huán)繞原則
平面內(nèi)的任何一點(diǎn)P缓熟,引出一條射線,注意不要經(jīng)過多邊形的頂點(diǎn)摔笤,如果射線與多邊形的交點(diǎn)的個(gè)數(shù)為奇數(shù)够滑,則點(diǎn)P在多邊形的內(nèi)部,瀏覽器就會(huì)對其進(jìn)行填吕世;如果交點(diǎn)的個(gè)數(shù)為偶數(shù)彰触,則點(diǎn)P在多邊形的外部,瀏覽器就不會(huì)對其進(jìn)行填充命辖。
根據(jù)兩個(gè)規(guī)則填充曲線(頂部):奇數(shù)規(guī)則(左)和非零繞組規(guī)則(右)况毅。在每種情況下,箭頭顯示來自曲線的P點(diǎn)的射線尔艇。在偶數(shù)情況下尔许,光線與兩條線相交,即偶數(shù);因此终娃,P被認(rèn)為是“曲線外”味廊。通過非零繞組規(guī)則,光線以順時(shí)針方向相交兩次棠耕,每次對繞組分?jǐn)?shù)貢獻(xiàn)-1:因?yàn)榭倲?shù)-2不為零余佛,所以P被判定為曲線內(nèi)部