UDF > GDIPlus > GraphicsPath >


_GDIPlus_PathCreate2

Cr�e un objet GraphicsPath � partir d'un tableau de points, d'un tableau de types, et d'un mode de remplissage

#include <GDIPlus.au3>
_GDIPlus_PathCreate2 ( $aPathData [, $iFillMode = 0] )

Param�tres

$aPathData Tableau de points et de types qui sp�cifie les points de terminaison et les points de contr�le des lignes et des splines de B�zier qui sont utilis�s pour dessiner le trac� et les types points :
    [0][0] - Nombre de points et types
    [1][0] - Point 1, position X
    [1][1] - Point 1, position Y
    [1][2] - Point 1, le type
    [n][0] - Point n, position X
    [n][1] - Point n, position Y
    [n][2] - Point n, le type
Chaque type de point est l'une des valeurs suivantes:
    0x00 - Le point est le d�but d'une figure
    0x01 - Le point est l'une des deux extr�mit�s d'une ligne
    0x03 - Le point est un point de terminaison ou de contr�le d'une spline de B�zier cubique
    0x20 - Le point est un marqueur
    0x80 - Le point est le dernier point d'un sous-chemin ferm� (figure)
$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: un handle vers un nouvel objet GraphicsPath.
�chec: 0 et d�finit @error <> 0, @extended peut contenir GPSTATUS ($GPID_ERR * ).

Remarque

Lorsque vous en avez termin� avec l'objet, appelez _GDIPlus_PathDispose() pour lib�rer les ressources de l'objet.

En relation

_GDIPlus_PathCreate, _GDIPlus_PathDispose

Voir aussi

Consultez GdipCreatePath2 dans la Librairie MSDN.

Exemple

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

Example()

Func Example()
    Local $hGUI = GUICreate("GDI+", 420, 420)
    GUISetState(@SW_SHOW)

    _GDIPlus_Startup()
    Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY)
    _GDIPlus_GraphicsClear($hGraphics, 0xFF000000)

    Local $aPathData[107][3] = [[106, 0, 0],[192.18, 15.75, 0],[226.79, 15.73, 3],[259.23, 24.91, 3],[287.25, 40.92, 3],[294.60, 17.47, 3],[316.50, 0.47, 3],[342.35, 0.47, 3],[374.28, 0.47, 3],[400.13, 26.32, 3], _
            [400.13, 58.25, 3],[400.13, 84.25, 3],[382.94, 106.24, 3],[359.35, 113.49, 3],[374.98, 141.27, 3],[383.93, 173.29, 3],[383.93, 207.43, 3],[383.93, 313.34, 3],[298.08, 399.19, 3],[192.18, 399.19, 3], _
            [86.32, 399.19, 3],[0.47, 313.34, 3],[0.47, 207.43, 3],[0.47, 101.57, 3],[86.32, 15.73, 3],[192.18, 15.73, 131],[192.18, 359.65, 0],[275.76, 359.21, 3],[343.95, 291.02, 3],[343.95, 207.43, 3], _
            [343.95, 123.85, 3],[275.76, 55.71, 3],[192.18, 55.71, 3],[108.59, 55.71, 3],[40.45, 123.85, 3],[40.45, 207.43, 3],[40.45, 291.02, 3],[108.59, 359.21, 3],[192.18, 359.21, 131],[142.45, 263.80, 0], _
            [151.82, 250.76, 3],[161.19, 238.04, 3],[170.52, 225.28, 3],[182.85, 225.28, 3],[222.74, 224.72, 3],[234.98, 225.75, 3],[224.86, 212.85, 3],[201.83, 178.14, 3],[192.79, 164.96, 3],[169.24, 197.78, 3], _
            [145.75, 230.65, 3],[122.25, 263.47, 3],[103.93, 263.47, 3],[85.56, 263.47, 3],[67.25, 263.47, 3],[99.36, 218.74, 3],[131.48, 173.95, 3],[163.59, 129.22, 3],[179.65, 107.08, 3],[207.39, 106.38, 3], _
            [223.30, 129.22, 3],[254.62, 173.95, 3],[285.89, 218.74, 3],[317.20, 263.47, 3],[258.95, 263.47, 3],[200.70, 263.47, 3],[142.45, 263.47, 131],[320.36, 45.92, 0],[331.57, 45.87, 3],[342.77, 45.87, 3], _
            [353.98, 45.87, 3],[360.34, 45.87, 3],[360.53, 52.18, 3],[353.98, 52.18, 3],[344.19, 52.18, 3],[334.34, 52.18, 3],[324.55, 52.18, 3],[327.14, 55.47, 3],[329.78, 58.77, 3],[332.41, 62.02, 3], _
            [336.98, 62.02, 3],[354.69, 61.41, 3],[357.18, 62.68, 3],[358.88, 63.57, 3],[359.87, 68.09, 3],[354.22, 68.09, 3],[340.51, 68.09, 3],[326.81, 68.09, 3],[313.06, 68.09, 3],[316.36, 72.05, 3], _
            [319.61, 76.05, 3],[322.85, 80.05, 3],[330.67, 80.05, 3],[355.25, 80.62, 3],[361.52, 79.25, 3],[376.63, 75.91, 3],[375.22, 60.70, 3],[366.18, 57.69, 3],[376.11, 54.95, 3],[378.04, 38.94, 3], _
            [363.59, 35.08, 3],[356.67, 33.25, 3],[320.22, 34.05, 3],[310.66, 34.05, 3],[313.91, 38.00, 3],[317.11, 41.96, 3],[320.36, 45.87, 131]]

    Local $hPath = _GDIPlus_PathCreate2($aPathData)

    Local $hBrush = _GDIPlus_BrushCreateSolid(0x7F0088AA)
    Local $hPen = _GDIPlus_PenCreate(0xFF0088AA, 2)

    _GDIPlus_GraphicsTranslateTransform($hGraphics, 10, 10)

    _GDIPlus_GraphicsFillPath($hGraphics, $hPath, $hBrush)
    _GDIPlus_GraphicsDrawPath($hGraphics, $hPath, $hPen)

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

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