Wenn man ersteinmal die Grundlagen verstanden hat, geht die Sache mit GDI+ ganz schnell.
Zuerst muss man ersteinmal lernen, eine Graphic zu erstellen und zu verwalten. Wenn man dies hinbekommen hat, kann man sich dann an das zeichnen heran wagen.
GDI+ Beispiel
Global $hWnd, $hGraphic, $hBitmap, $backbuffer ; Variablen für die Darstellungsobjekte
Global $width = 100, $height = 100 ; Variablen für die Breite und Höhe
HotKeySet("{ESC}", "_ShutDown") ; _ShutDown auf Escape setzen
[/autoit] [autoit][/autoit] [autoit]While 1
_GDIPlus_GraphicsDrawLine($backbuffer, 0, 0, 100, 100) ; Linie im Buffer zeichnen
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $width, $height) ; Von dem Buffer in die Graphic zeichnen
Sleep(100)
WEnd
Func _StartUp()
_GDIPlus_Startup() ; GDI+ Initialisieren
$hWnd = GUICreate("Mausverfolger", $width, $height) ; Fenster erstellen, auf dem später gezeichnet wird
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd) ; Graphic erstellen
$hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic) ; Bitmap Object erstellen
$backbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap) ; Buffer erstellen (Für das flüssige zeichnen)
_GDIPlus_GraphicsSetSmoothingMode($backbuffer, 4) ; Weicher zeichnen
GUISetState() ; GUI anzeigen
EndFunc
Func _ShutDown()
_GDIPlus_GraphicsDispose($backbuffer) ; Buffer freigeben
_GDIPlus_BitmapDispose($hBitmap) ; Bitmap freigeben
_GDIPlus_GraphicsDispose($hGraphic) ; Graphic freigeben
GUIDelete($hWnd) ; GUI freigeben
_GDIPlus_Shutdown() ; GDI+ beenden
Exit ; Script beenden
EndFunc