#include <GDIPlus.au3>

Global $Graphic, $Counter, $Array[1][5]

Func _GUIImageStart($Form)
	_GDIPlus_Startup()
	$Graphic = _GDIPlus_GraphicsCreateFromHWND($Form)
EndFunc   ;==>_GUIImageStart

Func _GUICtrlCreateImage($Filename, $Left, $Top, $Width = False, $Height = False)
	$Counter += 1
	ReDim $Array[$Counter][6]
	$Array[$Counter - 1][0] = _GDIPlus_ImageLoadFromFile($Filename)
	If $Width = False Then $Width = _GDIPlus_ImageGetWidth($Array[$Counter - 1][0])
	If $Height = False Then $Height = _GDIPlus_ImageGetHeight($Array[$Counter - 1][0])
	$Array[$Counter - 1][1] = $Left
	$Array[$Counter - 1][2] = $Top
	$Array[$Counter - 1][3] = $Width
	$Array[$Counter - 1][4] = $Height
	GUIRegisterMsg(0x000F, "WM_PAINT")
EndFunc   ;==>_GUICtrlCreateImage

Func WM_PAINT()
	For $i = 0 To UBound($Array) - 1
		_GDIPlus_GraphicsDrawImageRect($Graphic, $Array[$i][0], $Array[$i][1], $Array[$i][2], $Array[$i][3], $Array[$i][4])
	Next
EndFunc   ;==>WM_PAINT

Func _GUIImageClose()
	For $i = 0 To UBound($Array) - 1
		_GDIPlus_ImageDispose($Array[$i][0])
	Next
	_GDIPlus_GraphicsDispose($Graphic)
	_GDIPlus_Shutdown()
EndFunc   ;==>_GUIImageClose


