填充路径时使用的非零环绕规则
生活随笔
收集整理的這篇文章主要介紹了
填充路径时使用的非零环绕规则
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如果當(dāng)前路徑是循環(huán)的,或者包含多個相交的子路徑,那么Canvas的繪圖環(huán)境變量就必須判斷,當(dāng)fill()方法被調(diào)用時,應(yīng)該如何對當(dāng)前路徑進(jìn)行填充。
Canvas在填充互相有交叉的路徑時,使用非零環(huán)繞規(guī)則
非零環(huán)繞
對于路徑中的任意給定區(qū)域,從該區(qū)域內(nèi)部畫一條足夠長的線段,使此線段的終點完全落在路徑范圍之外。
接下來將計數(shù)器初始化為0,然后,每當(dāng)這條線段與路徑上的直線或曲線相交時,就改變計算器的值。如果是與路徑的順時針部分相交,則加1,如果與路徑的逆時針相交,則減1。
若計算器的最終值不是0,那么此區(qū)域就在路徑里面,在調(diào)用fill()方法時,瀏覽器就會對其進(jìn)行填充。如果最終值是0,那么此區(qū)域就在路徑內(nèi)部,瀏覽器就不會對其進(jìn)行填充。
轉(zhuǎn)載于:https://www.cnblogs.com/MyNodeJs/p/9651998.html
總結(jié)
以上是生活随笔為你收集整理的填充路径时使用的非零环绕规则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 1008--[HNOI2008
- 下一篇: HDU 2001 计算两点间的距离