UDF > GDIPlus > TextureBrush >


_GDIPlus_TextureCreate2

Crée un objet TextureBrush à partir d'une image, d'un mode d'habillage et d'une définition de rectangle qui définit une portion d'image

#include <GDIPlus.au3>
_GDIPlus_TextureCreate2 ( $hImage, $nX, $nY, $nWidth, $nHeight [, $iWrapMode = 0] )

Paramètres

$hImage Handle de l'objet Image
$nX Coordonnée X la plus à gauche de la partie d'image qui doit être utilisée par ce pinceau
$nY Coordonnée Y la plus haute de la partie d'image qui doit être utilisée par ce pinceau
$nWidth Largeur du pinceau et largeur de la partie d'image qui doit être utilisée par ce pinceau
$nHeight Hauteur du pinceau et hauteur de la partie d'image qui doit être utilisée par ce pinceau
$iWrapMode [optionnel] Mode wrap: Indique comment une image est disposée en mosaïque lorsqu'elle est plus petite que la zone à remplir:
    0 - Dispose l'image en mosaïque, sans symétrie
    1 - Retourne l'image horizontalement, puis la dispose en mosaïque
    2 - Retourne l'image verticalement, puis la dispose en mosaïque
    3 - Retourne l'image horizontalement et verticalement, puis la dispose en mosaïque
    4 - L'image n'est pas disposée en mosaïque

Valeur de retour

Succès: Retourne le handle du nouvel objet TextureBrush.
Échec: Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*).

Remarque

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

En relation

_GDIPlus_BrushDispose

Voir aussi

Consultez GdipCreateTexture2 dans la Librairie MSDN.

Exemple

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

Example()

Func Example()
    ; Fonctionnement en mode X64
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"

    ; Obtient le répertoire d'installation de AutoIt
    Local $sRegPath = "HKLM\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt"

    Local $sFile = RegRead($sRegPath, "InstallDir") & "\Examples\GUI\logo4.gif"
    If Not FileExists($sFile) Then
        MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", $sFile & " not found!", 30)
        Return False
    EndIf

    _GDIPlus_Startup()
    Local $hImage = _GDIPlus_ImageLoadFromFile($sFile) ; Crée un objet d'image à partir d'un fichier
    If @error Then
        _GDIPlus_Shutdown()
        MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "An error has occured - unable to load image!", 30)
        Return False
    EndIf

    Local $hGUI = GUICreate("GDI+ Example", 320, 200)
    GUISetState(@SW_SHOW)

    Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet Graphics à partir d'un handle fenêtre
    _GDIPlus_GraphicsClear($hGraphics, 0xFF404040) ; Efface la surface graphique en gris foncé (fond)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing
    Local $hTexture = _GDIPlus_TextureCreate2($hImage, 5, 4, 59, 59) ; Crée un pinceau de texture seulement à partir d'un rectangle défini
    _GDIPlus_GraphicsFillEllipse($hGraphics, 10, 40, 300, 120, $hTexture) ; Dessine une ellipse avec une texture comme pinceau

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Nettoie les ressources
    _GDIPlus_BrushDispose($hTexture)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    GUIDelete($hGUI)
EndFunc   ;==>Example