GdipGetPathFillMode()



Syntaxe
Resultat.i = GdipGetPathFillMode(*path, @fillmode.i)
Paramètres
*path

[in] Pointeur sur un objet GraphicsPath.

fillmode.i

[out] Variable qui recevra la valeur correspondante au mode de remplissage du GraphicsPath. Cette valeur est un élément de l'énumération FillMode.

Description
Cette fonction permet de retrouver le mode de remplissage du GraphicsPath.

fillMode peut prendre une des deux valeurs suivantes :

#FillModeAlternate

Ce mode indique que les secteurs sont remplis selon la règle de parité paire-impaire.
Selon cette règle, vous pouvez déterminer si un point test est à l'intérieur ou en dehors d'une zone fermée comme ceci :

Tracez une ligne du point test jusqu'à un point situé nettement à l'extérieur du tracé. Si cette ligne traverse un nombre de fois impair le tracé, le point test est à l'intérieur de la région fermée et appartient donc à la zone de remplissage, sinon le point test est en dehors de la courbe (nombre d'intersections pair). Une figure ouverte est remplie ou découpée en traçant une ligne pour relier le dernier point au premier point de la figure.

#FillModeWinding

Ce mode indique que les secteurs sont remplis selon la règle de l'enroulement non zéro.
Selon cette règle, le mode tient compte du sens des segments du tracé à chaque intersection. Vous pouvez déterminer si un point test est à l'intérieur ou en dehors d'une zone fermée comme ceci :

Tracez une ligne d'un point test jusqu'à un point situé nettement à l'extérieur du tracé. Comptez le nombre de fois où la courbe croise votre ligne de gauche à droite ainsi que le nombre de fois où la courbe croise votre ligne de droite à gauche. Si ces deux nombres sont égaux (leur soustraction vaut 0), le point est en dehors de la zone à remplir, sinon le point est à l'intérieur de la zone à remplir.

Le fichier d'exemple dessine 2 Path, chacun ayant la même figure fermée avec plusieurs zones à remplir. Le premier tracé a le mode de remplissage #FillModeAlternate et le second #FillModeWinding.

La fonction est appelée et le mode de remplissage est affiché en dessous de chaque tracé.

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium