#include <GDIP.au3>
#include <GUIConstantsEx.au3>


Example()

Func Example()
	Local $hGUI, $hGraphics, $hInst, $hBitmap, $iW, $iH

	; Инициализирует библиотеку GDI+
	_GDIPlus_Startup()
	Local Const $iWidth = 400, $iHeight = 200

    ; Создаёт GUI
	$hGUI = GUICreate("Создаёт Bitmap на основе ресурсов", $iWidth, $iHeight)
	GUISetState(@SW_SHOW)


	; Создаёт графический объект из дескриптора окна
	$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
	; Сопоставляет указанный исполняемый модуль в адресное пространство вызывающего процесса
	$hInst = _WinAPI_LoadLibrary(@SystemDir & "\taskmgr.exe")

	; Загружает ресурс bitmap - 103 и преобразовывает его в формат GDI+ bitmap
	$hBitmap = _GDIPlus_BitmapCreateFromResource($hInst, 103)

	$iW = _GDIPlus_ImageGetWidth($hBitmap)
	$iH = _GDIPlus_ImageGetHeight($hBitmap)
	; Отображает изображение по центру в GUI
	_GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, ($iWidth - $iW) / 2, ($iHeight - $iH) / 2)

	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Освобождает ресурсы
	_WinAPI_FreeLibrary($hInst)
	_GDIPlus_BitmapDispose($hBitmap)
	_GDIPlus_GraphicsDispose($hGraphics)

    ; Закрывает библиотеку GDI+
	_GDIPlus_Shutdown()
	GUIDelete($hGUI)
	Exit
EndFunc   ;==>Example
