Kurz und knapp;
wie verschiebt man Bilder mit GDI+?
Normal benutzt man ja GUICtrlSetPos... Wie geht das in GDI+?
Ich habe erst heute (vor einer Stunde) mit GDI+ angefangen. Finde leider nichts dazu.
MfG
Kurz und knapp;
wie verschiebt man Bilder mit GDI+?
Normal benutzt man ja GUICtrlSetPos... Wie geht das in GDI+?
Ich habe erst heute (vor einer Stunde) mit GDI+ angefangen. Finde leider nichts dazu.
MfG
Beim malen eines Bildes mit
[autoit]_GDIPlus_GraphicsDrawImageRect()
[/autoit]gibst du die Postion mit an. Die speicherst du in einer Variable ($x, $y z.B.) und dann änderst du die.
Irgendwie kriege ich es nicht hin... Ich raffs grad nicht.
Könntest du vielleicht ein kleines Beispiel zeigen? Pls.
Hier eine kleine Vorarbeit:
#include <Misc.au3>
#include <GDIPlus.au3>
_GDIPlus_Startup ()
[/autoit] [autoit][/autoit] [autoit]Global $x = 113
Global $y = 58
$h_GUI = GUICreate ("$var", 240, 160)
GUISetState (@SW_SHOW, $h_GUI)
$h_Image_File = _GDIPlus_ImageLoadFromFile (@TempDir&"\image.bmp")
$h_Image = _GDIPlus_GraphicsCreateFromHWND ($h_GUI)
_GDIPlus_GraphicsDrawImageRect ($h_Image, $h_Image_File, $x, $y, 14, 21)
While True
$nMsg = GUIGetMsg (1)
Select
Case $nMsg[0] = -3 And $nMsg[1] = $h_GUI
_GDIPlus_Shutdown ()
Exit
Case _IsPressed ("0D") ; 0D == Enter
; Verschieben ~~~ !
EndSelect
WEnd
Kleines Beispiel (PS Schau dir mal das Tut von Ubuntu an)
[autoit]#include <Misc.au3>
#include <GDIPlus.au3>
_GDIPlus_Startup()
[/autoit][autoit][/autoit][autoit]Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]Global $x = 0
Global $y = 58
$h_GUI = GUICreate("$var", 240, 160)
GUISetOnEvent(-3, "_Exit")
GUISetState(@SW_SHOW, $h_GUI)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($h_GUI)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(240, 160, $hGraphic)
$hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
While Sleep(20)
If $x <= 240 + 20 Then
$x += 1
Else
$x = -20
EndIf
_GDIPlus_GraphicsClear($hBackbuffer, 0xFFFFFFFF)
_GDIPlus_GraphicsFillRect($hBackbuffer, $x, $y, 20, 20)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 240, 160)
WEnd
Func _Exit()
[/autoit][autoit][/autoit][autoit]_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_Exit
Danke. Das bringts jetzt.
Das Tutorial von Ubuntu habe ich mir mal angesehen, fand ich aber irgendwie verwirrend,
da immer wieder von A nach B gesprungen wird, ohne große Erklärungen...
~gelöst~