#include <GuiConstants.au3>
#include <GdiPlus.au3>;das include
#include <Misc.au3>
OnAutoItExitRegister("_end") ; die Funktion _end am Ende des Scriptes ausführen
[/autoit][autoit][/autoit][autoit]$x = 0; Poition von Bild auf X-Achse
$y = 0; Poition von Bild auf Y-Achse
$Gui = GUICreate("Beispiel", 179, 163, 100, 100); GUI erstellen
GUISetState(@SW_SHOW); Anzeigen
_GDIPlus_Startup() ;Gdi starten
[/autoit][autoit][/autoit][autoit]$figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\tux.jpg"); Meine Bild reinladen
$background = _GDIPlus_ImageLoadFromFile(@ScriptDIr & "\al.png")
$height = _GDIPlus_ImageGetHeight($figur); Größe meines Bildes ermitteln (Höhe)
$width = _GDIPlus_ImageGetWidth($figur); Größe meines Bildes ermitteln (Breite)
$verhaelnis = $height / $width; Verhältnis ausrechen, damit kleiner
$graphic = _GDIPlus_GraphicsCreateFromHWND($Gui); Object um drauf zu malen
$bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphic) ;erstelle Bitmap von der Grafik
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap) ;erstelle Grafik Kontext von der Bitmap (dient für die Doppeltbufferung der Grafik, damit die Bewegungen flüssiger aussehen
_GDIPlus_GraphicsSetSmoothingMode($backbuffer, 2) ; da
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE ; Event CLose
Exit
EndSwitch
Select
Case _IsPressed(25); Links pfeiltaste änder die koordinaten so, dass bild sich nach links bewegt!
$x -= 1
Case _IsPressed(26); Oben pfeiltaste änder die koordinaten so, dass bild sich nach oben bewegt!
$y -= 1
Case _IsPressed(27); Rechts pfeiltaste änder die koordinaten so, dass bild sich nach rechts bewegt!
$x += 1
Case _IsPressed(28); Runter pfeiltaste änder die koordinaten so, dass bild sich nach unten bewegt!
$y += 1
EndSelect
_GDIPlus_GraphicsDrawImageRect($graphic,$background,0,0,179, 163)
_GDIPlus_GraphicsDrawImageRect($graphic, $figur, $x, $y, 20,20 * $verhaelnis) ;die Figur wird an der neuen Position gezeichnet
;($graphic = Unser Hintergrund also Wodrauf er neuzeichnen soll)
;($figur= Was er neuzeichnen soll also unser Bild!)
;($x= Die veränderte X Koordinate)
;($y= Die veränderte Y Koordinate)
;(20 = Die Größe(Weite!) )
;(20 *$verhaelnis = Die größe(Höhe))
WEnd
Func _end();die Exit funktion
_GDIPlus_GraphicsDispose($graphic);Grafik Objekt freigeben
_GDIPlus_ImageDispose($figur);Bild Objekt freigeben
; _GDIPlus_GraphicsDispose($backbuffer)
; _GDIPlus_BitmapDispose($bitmap)
_GDIPlus_ImageDispose($background);Bild Objekt freigeben
_GDIPlus_Shutdown();Ressourcen freigeben
EndFunc ;==>_end
Hallo Community!
Ich wollte einen Buffer hier in dieses Script einbauen, jedoch habe ich es nicht geschafft!
Ich würde mich sehre freuen, wenn ihr mir helfen könntet.
Sofern Ihr euch damit auskennt könntet ihr mir villeicht auch sagen, wie man es macht das das kleine mit den Pfeiltasten verschiebbare Bild, nicht aus dem Fenster laufen kann!
Liebe Grüße
*scareface*