UDF > GDIPlus > GraphicsPath >


_GDIPlus_PathCreate

Cr�e un objet GraphicsPath et initialise le mode de remplissage

#include <GDIPlus.au3>
_GDIPlus_PathCreate ( [$iFillMode = 0] )

Param�tre

$iFillMode [optionnel] Mode de remplissage de l'int�rieur des trac�s de figures:
    0 - Alternate: les zones sont remplis conform�ment � la r�gle de parit� pair-impair
    1 - Winding: les zones sont remplis selon la r�gle d'enroulement non nul

Valeur de retour

Succ�s: Retourne le handle du nouvel objet GraphicsPath.
�chec: Retourne 0 et d�finit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*).

Remarques

Une application remplit l'int�rieur d'un trac� � l'aide d'un des deux modes de remplissage: Alternate(0) ou Winding(1). Le mode d�termine la fa�on de remplir et de d�couper l'int�rieur d'une figure ferm�e.
Le mode par d�faut est Alternate. Pour d�terminer l'int�rieur des figures ferm�es en mode alternate, dessinez une ligne � partir de n'importe quel point de d�but arbitraire du trac� jusqu'� un point situ� nettement � l'ext�rieur du trac�. Si la ligne traverse un nombre impair de segments du trac�, le point de d�but se trouve dans la r�gion ferm�e et appartient donc � la zone de remplissage ou de d�coupage. Un nombre pair d'intersections signifie que le point ne se trouve pas dans la zone � remplir ou � d�couper. 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.
Le mode Winding tient compte du sens des segments du trac� � chaque intersection. Il ajoute un pour chaque intersection dans le sens des aiguilles d'une montre et soustrait un pour chaque intersection dans le sens inverse des aiguilles d'une montre. Si le r�sultat est diff�rent de z�ro, le point est consid�r� comme situ� dans la zone de remplissage ou de d�coupage. Une valeur z�ro signifie que le point se situe en dehors de la zone de remplissage ou de d�coupage.
Une figure est consid�r�e comme allant dans le sens des aiguilles d'une montre ou dans le sens contraire en fonction de l'ordre dans lequel ses segments sont dessin�s.
Lorsque vous en avez termin� avec l'objet, appelez _GDIPlus_PathDispose() pour lib�rer les ressources de l'objet.

En relation

_GDIPlus_PathCreate2, _GDIPlus_PathDispose

Voir aussi

Consultez GdipCreatePath dans la Librairie MSDN.

Exemple

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $hGUI, $hGraphic, $hBrush, $hPen, $hPath, $hFamily, $tLayout

    ; Cr�e une GUI
    $hGUI = GUICreate("GDI+", 420, 160)
    GUISetState(@SW_SHOW)

    ; Dessine une cha�ne en utilisant un Path
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Cr�e un objet graphique � partir du handle de la fen�tre
    $hBrush = _GDIPlus_BrushCreateSolid(0xFFDD2200)
    $hPen = _GDIPlus_PenCreate(0xFFFFBB00, 2)

    $hPath = _GDIPlus_PathCreate() ; Cr�e un objet path

    $hFamily = _GDIPlus_FontFamilyCreate("Arial") ; Cr�e un objet FontFamily
    $tLayout = _GDIPlus_RectFCreate() ; Cr�e une cha�ne d�l�mit�e par un rectangle de coin X=0, Y=0
    _GDIPlus_PathAddString($hPath, "AutoIt rulez!", $tLayout, $hFamily, 0, 72, 0) ; Ajoute le contour de la cha�ne au Path

    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; D�finit pour l'objet graphique la qualit� de rendu antialiasing
    _GDIPlus_GraphicsClear($hGraphic, 0xFF000000)
    _GDIPlus_GraphicsFillPath($hGraphic, $hPath, $hBrush) ; Dessine le Path avec le handle Graphic (GUI)
    _GDIPlus_GraphicsDrawPath($hGraphic, $hPath, $hPen) ; Dessine le Path avec le handle Graphic (GUI)

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Nettoie les ressources
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_PathDispose($hPath)
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example