Aree di riempimento
Un'applicazione riempie l'interno di un'area chiamando la funzione FillRgn e fornendo un handle che identifica un pennello specifico. Quando un'applicazione chiama FillRgn , il sistema riempie l'area con il pennello usando la modalità di riempimento corrente per il contesto del dispositivo specificato. Esistono due modalità di riempimento: alternativa e avvolgimento. L'applicazione può impostare la modalità di riempimento per un contesto di dispositivo chiamando la funzione SetPolyFillMode . L'applicazione può recuperare la modalità di riempimento corrente per un contesto di dispositivo chiamando la funzione GetPolyFillMode .
La figura seguente mostra due aree identiche: una riempita usando la modalità alternativa e l'altra riempita usando la modalità di carica.
Per determinare quali pixel evidenzia il sistema quando viene specificata la modalità alternativa, eseguire il test seguente:
- Selezionare un pixel all'interno dell'area.
- Disegna un raggio immaginario, nella direzione x positiva, da quel pixel verso l'infinito.
- Ogni volta che il raggio interseca una linea di limite, incrementa un valore di conteggio.
Il sistema evidenzia il pixel se il valore del conteggio è un numero dispari.
Per determinare quali pixel evidenzia il sistema quando viene specificata la modalità di caricamento, eseguire il test seguente:
- Determinare la direzione in cui viene disegnata ogni linea di limite.
- Selezionare un pixel all'interno dell'area.
- Disegna un raggio immaginario, nella direzione x positiva, dal pixel verso l'infinito.
- Ogni volta che il raggio interseca una linea di limite con un componente y positivo, incrementa un valore di conteggio. Ogni volta che il raggio interseca una linea di limite con un componente y negativo, decrementare il valore del conteggio.
Il sistema evidenzia il pixel se il valore del conteggio è diverso da zero.