UDF > GDIPlus > TextureBrush >


_GDIPlus_TextureCreate

Crée un objet TextureBrush à partir d'une image et d'un mode d'habillage

#include <GDIPlus.au3>
_GDIPlus_TextureCreate ( $hImage [, $iWrapMode = 0] )

Paramètres

$hImage Handle de l'objet Image
$iWrapMode [optionnel] 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

La taille du pinceau, par défaut, est celle de l'image, de sorte que la totalité de l'image est utilisée par le pinceau.
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 GdipCreateTexture 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 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 le handle Graphic avec du gris foncé (fond)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing
    Local $hTexture = _GDIPlus_TextureCreate($hImage)
    _GDIPlus_GraphicsFillEllipse($hGraphics, 10, 40, 300, 120, $hTexture) ; Dessine une ellipse avec la texture du 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