Crée un objet TextureBrush à partir d'une image et d'un mode d'habillage
#include <GDIPlus.au3>
_GDIPlus_TextureCreate ( $hImage [, $iWrapMode = 0] )
$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 |
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*). |
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.
Consultez GdipCreateTexture dans la Librairie MSDN.
#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