D�finit le tableau compos� d'un objet Pen
#include <GDIPlus.au3>
_GDIPlus_PenSetCompound ( $hPen, $aCompounds )
$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 |
Succ�s: | Retourne True. |
�chec: | Retourne False et d�finit @error <> 0, @extended peut contenir le code d'erreur GPSTATUS ($GPID_ERR*). |
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.
Consultez GdipSetPenCompoundArray dans la librairie MSDN.
#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