So?
Spoiler anzeigen
#include <GDIPlus.au3>
Global $hGCPRGraphics, $hGCPRBitmap, $sImage="test.png"
$hGUI=GUICreate("")
GUISetState()
GUICtrlPicRepeat($hGUI, $sImage, 20, 20, 300, 300)
While True
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
WEnd
Func GUICtrlPicRepeat($hWnd, $sPic, $iX, $iY, $iWidth, $iHeight)
Local $hImage, $iImageWidth, $iImageHeight, $hBuffer, $aPos
If $hGCPRGraphics<>"" Then
_GDIPlus_GraphicsDispose($hGCPRGraphics)
_GDIPlus_BitmapDispose($hGCPRBitmap)
_GDIPlus_Shutdown()
GUIRegisterMsg(0x000F, "")
OnAutoItExitUnregister("GCPRShutdown")
EndIf
_GDIPlus_Startup()
$hGCPRGraphics=_GDIPlus_GraphicsCreateFromHWND($hWnd)
$aPos=WinGetPos($hWnd)
$hGCPRBitmap=_GDIPlus_BitmapCreateFromGraphics($aPos[2], $aPos[3], $hGCPRGraphics)
$hBuffer=_GDIPlus_ImageGetGraphicsContext($hGCPRBitmap)
$hImage=_GDIPlus_ImageLoadFromFile($sPic)
$iImageWidth=_GDIPlus_ImageGetWidth($hImage)
$iImageHeight=_GDIPlus_ImageGetHeight($hImage)
For $i=$iX to $iWidth Step $iImageWidth
For $n=$iY to $iHeight Step $iImageHeight
_GDIPlus_GraphicsDrawImage($hBuffer, $hImage, $i, $n)
Next
Next
_GDIPlus_GraphicsDrawImage($hGCPRGraphics, $hGCPRBitmap, 0, 0)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hBuffer)
GUIRegisterMsg(0x000F, "GCPRReDraw")
OnAutoItExitRegister("GCPRShutdown")
EndFunc
Func GCPRReDraw()
_GDIPlus_GraphicsDrawImage($hGCPRGraphics, $hGCPRBitmap, 0, 0)
EndFunc
Func GCPRShutdown()
_GDIPlus_BitmapDispose($hGCPRBitmap)
_GDIPlus_GraphicsDispose($hGCPRGraphics)
_GDIPlus_Shutdown()
EndFunc