Initialisiert (startet) Microsoft Windows GDI+
#include <GDIPlus.au3>
_GDIPlus_Startup ( [$sGDIPDLL = Default [, $bRetDllHandle = False]] )
$sGDIPDLL | [optional] der Dateiname der zu verwendenden dll. Standard ist die installierte GDI Dll. |
$bRetDllHandle | [optional] True wenn das Handle zu der geöffneten GDI Dll zurückgegeben werden soll. Standard ist False. |
Erfolg: | True oder ein Handle zu der geöffneten GDI Dll falls $bRetDllHandle = True. |
Fehler: | False und setzt das @error Flag auf ungleich null. @extended kann den GPSTATUS Fehlercode ($GPID_ERR* siehe GDIPlusConstants.au3) enthalten. |
Es ist _GDIPlus_Startup() aufzurufen, bevor ein GDI+ Objekt erstellt wird.
Wenn GDI+ V1.1 Funktionen verfügbar sind, so wird @extended auf einen Wert größer als 5 gesetzt.
Für Vista oder Server 2008 muss $sGDIPDLL definiert werden. Die Datei gdiplus.dll befindet sich in @WindowsDir & "\winsxs\*.gdiplus*\gdiplus.dll"
Innerhalb der Funktion _GDIPlus_Startup wird automatisch geprüft, ob GDIPlus bereits gestartet ist.
Somit wird verhindert, dass GDIPlus mehrfach gestartet wird.
Suche nach GdiplusStartup in der MSDN Bibliothek.
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
#include <WinAPIHObj.au3>
Example()
Func Example()
Local $hGui, $hBMP, $hBitmap, $hGraphic
; Erstellt vom oberen, linken Bereich des Bildschirms einen Screenshot
$hBMP = _ScreenCapture_Capture("", 0, 0, 400, 300)
; Erstellt eine GUI
$hGui = GUICreate("GDI+", 400, 300)
GUISetState(@SW_SHOW)
; Initialisiert (startet) Microsoft Windows GDI+
_GDIPlus_Startup()
; Zeichnet ein Bitmap auf die GUI
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBMP)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
_GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
; Ressourcen freigeben
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hBitmap)
_WinAPI_DeleteObject($hBMP)
; Gibt die durch Microsoft Windows GDI+ verwendeten Ressourcen wieder frei
_GDIPlus_Shutdown()
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example