Erzeugt ein TextureBrush-Objekt basierend auf ein Image und eines Wrappingmodus
#include <GDIPlus.au3>
_GDIPlus_TextureCreate ( $hImage [, $iWrapMode = 0] )
$hImage | Ein Zeiger zu einem Image-Objekt |
$iWrapMode | [optional] Der Wrapmodus welcher angibt, wie die sich wiederholenden Kopien eines Images verwendet werden sollen, um ein Bereich zu kacheln 0 - Kacheln ohne Drehung 1 - Kacheln werden horizontal gespiegelt, wenn man von einer Kachel zur nächsten in der selben Reihe geht 2 - Kacheln werden vertikal gespiegelt, wenn man von einer Kachel zur nächsten in der selben Spalte geht 3 - Kacheln werden horizontal gespiegelt, wenn man entlang einer Reihe geht, und vertikal gespiegelt, wenn man entlang einer Spalte geht. 4 - Es wird nicht gekachelt |
Erfolg: | Ein Zeiger zu einem neuen TextureBrush-Objekt. |
Fehler: | 0 und setzt das @error Flag auf ungleich null. @extended kann den GPSTATUS Fehlercode ($GPID_ERR* siehe GDIPlusConstants.au3) enthalten. |
Die Größe des Brush wird auf dem Standard der Imagegröße zurückgesetzt, damit das gesamte Image vom Brush verwendet wird.
Wenn die Arbeit mit dem Objekt abgeschlossen ist, sollte man _GDIPlus_BrushDispose() verwenden um die Objektressourcen freizugeben.
Suche nach GdipCreateTexture in der MSDN Bibliothek.
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <MsgboxConstants.au3>
Example()
Func Example()
; X64 running support
Local $sWow64 = ""
If @AutoItX64 Then $sWow64 = "\Wow6432Node"
;get AutoIt install dir
Local $sRegPath = "HKLM\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt"
Local $sFile = RegRead($sRegPath, "InstallDir") & "\Examples\GUI\logo4.gif"
If Not FileExists($sFile) Then
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), "", $sFile & " not found!", 30)
Return False
EndIf
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($sFile) ;create an image object based on a file
If @error Then
_GDIPlus_Shutdown()
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), "", "An error has occured - unable to load image!", 30)
Return False
EndIf
Local $hGUI = GUICreate("GDI+ Example (" & @ScriptName & ")", 320, 200)
GUISetState(@SW_SHOW)
Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ;create a Graphics object from a window handle
_GDIPlus_GraphicsClear($hGraphics, 0xFF404040) ;clear graphic handle with dark grey (background)
_GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ;sets the graphics object rendering quality (antialiasing)
Local $hTexture = _GDIPlus_TextureCreate($hImage)
_GDIPlus_GraphicsFillEllipse($hGraphics, 10, 40, 300, 120, $hTexture) ;draw ellipse with texture as a brush
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
;cleanup resources
_GDIPlus_BrushDispose($hTexture)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
EndFunc ;==>Example