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] )
$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 |
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*). |
Lorsque vous en avez terminé avec l'objet, appelez _GDIPlus_BrushDispose() pour libérer les ressources de l'objet.
Consultez GdipCreateTexture2 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 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