Ich meinte sowas
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
AutoItSetOption("GUIOnEventMode", 1)
_GDIPlus_Startup()
Global Const $iW = 512, $iH = 384, $fPi = ACos(-1)
Global Const $hGUI = GUICreate("", $iW, $iH)
GUISetState()
Global Const $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $hBmp = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBmp)
Global Const $hImage = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $fX, $fY, $fR = 128, $i, $j, $iFPS
AdlibRegister("FPS", 1000)
Do
$fX = Cos($i / 4 + $j) * $fR
$fY = Sin($i /
* $fR
_GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hImage, 256 + $fX, 192 + $fY, $iW, $iH, 0, 0, $iW, $iH)
_GDIPlus_GraphicsDrawString($hCtxt, "Scrolling", 25, 100, "Arial", 80)
_GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp, 0, 0, $iW, $iH)
$i += 0.25
$j += 0.001
$iFPS += 1
Until Not Sleep(10)
Func FPS()
WinSetTitle($hGUI, "", $iFPS & " FPS")
$iFPS = 0
EndFunc
Func _Exit()
AdlibUnRegister("FPS")
_GDIPlus_GraphicsDispose($hCtxt)
_GDIPlus_GraphicsDispose($hGfx)
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndFunc
Oder die schneller Variante:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
AutoItSetOption("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
Global Const $iW = 512, $iH = 384, $fPi = ACos(-1)
Global Const $hGUI = GUICreate("", $iW, $iH)
GUISetState()
Global Const $hBmp = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
_GDIPlus_BitmapDispose($hBmp)
Global Const $hDC = _WinAPI_GetDC($hGUI)
Global Const $hDC_Backbuffer = _WinAPI_CreateCompatibleDC($hDC)
Global Const $DC_Obj = _WinAPI_SelectObject($hDC_Backbuffer, $hHBITMAP)
Global Const $hCtxt = _GDIPlus_GraphicsCreateFromHDC($hDC_Backbuffer)
Global Const $hImage = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $fX, $fY, $fR = 128, $i, $j, $iFPS
AdlibRegister("FPS", 1000)
[/autoit] [autoit][/autoit] [autoit]Do
$fX = Cos($i / 4 + $j) * $fR
$fY = Sin($i /
* $fR
_GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hImage, 256 + $fX, 192 + $fY, $iW, $iH, 0, 0, $iW, $iH)
_GDIPlus_GraphicsDrawString($hCtxt, "Scrolling", 25, 100, "Arial", 80)
_WinAPI_BitBlt($hDC, 0, 0, $iW, $iH, $hDC_Backbuffer, 0, 0, $SRCCOPY)
$i += 0.15
$j += 0.005
$iFPS += 1
Until Not Sleep(10)
Func FPS()
WinSetTitle($hGUI, "", $iFPS & " FPS")
$iFPS = 0
EndFunc
Func _Exit()
AdlibUnRegister("FPS")
_WinAPI_SelectObject($hDC_Backbuffer, $DC_Obj)
_WinAPI_ReleaseDC($hGUI, $hDC)
_WinAPI_DeleteObject($hHBITMAP)
_GDIPlus_GraphicsDispose($hCtxt)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndFunc
Benötigt 3.3.10.x Version!
Gruß,
UEZ