Cr�e un embout personnalis� pour une ligne
#include <GDIPlus.au3>
_GDIPlus_CustomLineCapCreate ( $hPathFill, $hPathStroke [, $iLineCap = 0 [, $nBaseInset = 0]] )
$hPathFill | Handle de l'objet Path qui d�finit le remplissage de l'embout personnalis�. |
$hPathStroke | Handle de l'objet Path qui d�finit le contour personnalis� de l'embout. |
$iLineCap | [optionnel] Embout de ligne � utiliser: $GDIP_LINECAPFLAT = l'embout se termine au dernier point de la ligne (valeur par d�faut) $GDIP_LINECAPSQUARE = embout carr�, le centre du carr� est le dernier point de la ligne. Le cot� du carr� est la largeur de la ligne. $GDIP_LINECAPROUND = embout rond, le centre du cercle est le dernier point de la ligne. Le diam�tre du cercle est la largeur de la ligne. $GDIP_LINECAPTRIANGLE = embout triangulaire, la base du triangle est le dernier point de la ligne. La base du triangle est la largeur de la ligne. $GDIP_LINECAPNOANCHOR = extr�mit� de la ligne n'est pas ancr�. $GDIP_LINECAPSQUAREANCHOR = extr�mit� ancr�e sur un carr�. Le centre du carr� est le dernier point de la ligne. Le cot� du carr� est la largeur de la ligne. $GDIP_LINECAPROUNDANCHOR = extr�mit� ancr�e sur un cercle. Le centre du cercle est le dernier point de la ligne. Le cercle est plus large que la ligne. $GDIP_LINECAPDIAMONDANCHOR = extr�mit� ancr�e sur un losange (un carr� tourn� � 45�). Le centre du losange est le dernier point de la ligne. Le losange est plus large que la ligne. $GDIP_LINECAPARROWANCHOR = extr�mit� ancr�e sur un embout de fl�che. L'embout est situ�e au dernier point de la ligne et il est plus large que la ligne. $GDIP_LINECAPCUSTOM = extr�mit� fabriqu�e avec CustomLineCap. |
$nBaseInset | [optionnel] Distance entre la base de l'embout et l'extr�mit� de la ligne. L'unit� est l'�paisseur du crayon. |
Succ�s: | Retourne le handle de l'objet cr��. |
�chec: | Retourne 0 et d�finit @error <> 0, @extended contient le code d'erreur GPSTATUS (GDIP_ERR*). |
Les param�tres $hPathFill et $hPathStroke ne peuvent pas �tre utilis�s en m�me temps. Vous devez passer 0 � l'un de ces deux param�tres. Si vous passez des valeurs non nulles pour les deux param�tres, $PathFill est ignor�.
Styles d'embout de ligne (image issue de GDI+ pour PureBasic):
Cherchez GdipCreateCustomLineCap dans la Library MSDN
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI, $hGraphics, $hPath, $hCustomLineCap, $hClonedLineCap, $hPen Local $avPoints[4][2] = [[3],[-15, -15],[0, 0],[15, -15]] ; Initialisation GDI+ _GDIPlus_Startup() ; Cr�e un objet Graphics � partir d'un handle fen�tre $hGUI = GUICreate("_GDIPlus_CustomLineCapCreate Example", 400, 200) GUISetState(@SW_SHOW) $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; D�finit pour l'objet graphique la qualit� de rendu antialiasing _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Cr�e GraphicsPath et lui ajoute deux lignes. $hPath = _GDIPlus_PathCreate() _GDIPlus_PathAddLine2($hPath, $avPoints) ; Cr�e un objet CustomLineCap. $hCustomLineCap = _GDIPlus_CustomLineCapCreate(0, $hPath) ; Cr�e un objet clone de CustomLineCap. $hClonedLineCap = _GDIPlus_CustomLineCapClone($hCustomLineCap) ; Cr�e un objet Pen, attribue l'embout clon� comme embout personnalis�, et trace une ligne. $hPen = _GDIPlus_PenCreate(0xFFFF0000) _GDIPlus_PenSetCustomEndCap($hPen, $hClonedLineCap) _GDIPlus_GraphicsDrawLine($hGraphics, 50, 50, 350, 150, $hPen) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie _GDIPlus_PenDispose($hPen) _GDIPlus_CustomLineCapDispose($hClonedLineCap) _GDIPlus_CustomLineCapDispose($hCustomLineCap) _GDIPlus_PathDispose($hPath) _GDIPlus_GraphicsDispose($hGraphics) ; Arr�te GDI+ _GDIPlus_Shutdown() EndFunc ;==>Example