UDF > GDIPlus > Pen >


_GDIPlus_PenSetCompound

D�finit le tableau compos� d'un objet Pen

#include <GDIPlus.au3>
_GDIPlus_PenSetCompound ( $hPen, $aCompounds )

Param�tres

$hPen Le pointeur de l'objet Pen.
$aCompounds An array of compound values:
    [0] - Nombre de valeurs compos�es
    [1] - Valeur compos�e 1
    [2] - Valeur compos�e 2
    [n] - Valeur compos�e n

Valeur de retour

Succ�s: Retourne True.
�chec: Retourne False et d�finit @error <> 0, @extended peut contenir le code d'erreur GPSTATUS ($GPID_ERR*).

Remarque

Les �l�ments du tableau doivent �tre dans l'ordre croissant, compris entre 0 et 1.
Supposons que vous vouliez un crayon pour dessiner deux lignes parall�les o� la largeur de la premi�re ligne repr�sente 20% de la largeur du stylo, la largeur de l'espace qui s�pare les deux lignes est de 50% de la largeur du stylo, et la largeur de la deuxi�me ligne est de 30 pour cent de la largeur du stylo.
Commencez par cr�er un objet Pen et un tableau de valeurs compos�es.
Vous pouvez ensuite d�finir le tableau compos� en transmettant le tableau avec les valeurs 0.0, 0.2, 0.7 et 1.0 � la fonction _GDIPlus_PenSetCompound.

En relation

_GDIPlus_PenCreate

Voir aussi

Consultez GdipSetPenCompoundArray dans la librairie MSDN.

Exemple

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

Example()

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

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

    Local $hPath = _GDIPlus_PathCreate()
    Local $hFamily = _GDIPlus_FontFamilyCreate("Arial Black")
    _GDIPlus_PathAddString($hPath, "AutoIt", _GDIPlus_RectFCreate(10, 25), $hFamily, 0, 205, 0)

    Local $hBrush = _GDIPlus_BrushCreateSolid(0xF0FFFFFF)
    Local $hPen = _GDIPlus_PenCreate(0xFF4488FF, 12)
    _GDIPlus_PenSetLineJoin($hPen, 2)

    Local $aCompounds[7]
    $aCompounds[0] = 6 ;nombre d'�l�ments du tableau compos�

    $aCompounds[1] = 0 ;
    $aCompounds[2] = 0.3 ;premi�re ligne [0 to 0.3] * PenWidth

    $aCompounds[3] = 0.55 ;
    $aCompounds[4] = 0.7 ;seconde ligne [0.55 to 0.7] * PenWidth

    $aCompounds[5] = 0.9 ;
    $aCompounds[6] = 1 ;troisi�me ligne [0.9 to 1] * PenWidth

    _GDIPlus_PenSetCompound($hPen, $aCompounds)

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

    _GDIPlus_PenSetColor($hPen, 0xFFFF66FF)
    _GDIPlus_GraphicsDrawRect($hGraphic, 20, 20, 760, 320, $hPen)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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