填滿區域
應用程式會呼叫 FillRgn 函式並提供識別特定筆刷的控制碼,以填滿區域的內部。 當應用程式呼叫 FillRgn 時,系統會使用指定裝置內容的目前填滿模式,以筆刷填滿區域。 有兩種填滿模式:替代和線圈。 應用程式可以藉由呼叫 SetPolyFillMode 函式來設定裝置內容的填滿模式。 應用程式可以藉由呼叫 GetPolyFillMode 函式來擷取裝置內容的目前填滿模式。
下圖顯示兩個相同的區域:一個使用替代模式填滿,另一個使用線圈模式填滿。
替代模式
若要判斷系統在指定替代模式時醒目提示的圖元,請執行下列測試:
- 選取區域內的圖元。
- 從該圖元向無限大繪製虛數光線,以正 X 方向繪製。
- 每次光線交集界限線時,遞增計數值。
如果計數值為奇數,系統會反白顯示圖元。
線圈模式
若要判斷系統在指定線圈模式時醒目提示的圖元,請執行下列測試:
- 決定繪製每個界限線的方向。
- 選取區域內的圖元。
- 從圖元向無限大繪製虛數光線,以正 X 方向繪製。
- 每次光線與正 y 元件交集界限線時,都會遞增計數值。 每次光線與負 y 元件交集界限線時,都會遞減計數值。
如果計數值為非零,系統會反白顯示圖元。