UDF > GDIPlus > CustomLineCap >


_GDIPlus_CustomLineCapCreate

Cr�e un embout personnalis� pour une ligne

#include <GDIPlus.au3>
_GDIPlus_CustomLineCapCreate ( $hPathFill, $hPathStroke [, $iLineCap = 0 [, $nBaseInset = 0]] )

Param�tres

$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.

Valeur de retour

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*).

Remarques

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):

    

Apr�s en avoir termin� avec l'objet, appelez _GDIPlus_CustomLineCapDispose() pour lib�rer les ressources de l'objet.

En relation

_GDIPlus_CustomLineCapDispose

Voir aussi

Cherchez GdipCreateCustomLineCap dans la Library MSDN

Exemple

#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