#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>

_Main()

Func _Main()
	Local $hGUI1, $hGUI2, $hImage, $hGraphic1, $hGraphic2

	; Захватывает левый верхний угол экрана
	_ScreenCapture_Capture (@MyDocumentsDir & "\GDIPlus_Image.jpg", 0, 0, 400, 300)

	; Создаёт GUI для оригинального изображения
	$hGUI1 = GUICreate("Оригинал", 400, 300, 0, 0)
	GUISetState()

	; Создаёт GUI для масштабированного изображения
	$hGUI2 = GUICreate("Масштабированный", 400, 300, 0, 400)
	GUISetState()

	; Инициализация библиотеки GDI+ и загрузка изображения из файла
	_GDIPlus_Startup ()
	$hImage = _GDIPlus_ImageLoadFromFile (@MyDocumentsDir & "\GDIPlus_Image.jpg")

	; Рисует оригинальное изображение
	$hGraphic1 = _GDIPlus_GraphicsCreateFromHWND ($hGUI1)
	_GDIPlus_GraphicsDrawImage ($hGraphic1, $hImage, 0, 0)

	; Рисует изображение с 2-х кратным масштабированием
	$hGraphic2 = _GDIPlus_GraphicsCreateFromHWND ($hGUI2)
	_GDIPlus_GraphicsDrawImageRectRect ($hGraphic2, $hImage, 0, 0, 200, 200, 0, 0, 400, 300)

	; Освобождает ресурсы
	_GDIPlus_GraphicsDispose ($hGraphic1)
	_GDIPlus_GraphicsDispose ($hGraphic2)
	_GDIPlus_ImageDispose ($hImage)
	_GDIPlus_Shutdown ()

	; Удаление временного файла
	FileDelete(@MyDocumentsDir & "\GDIPlus_Image.jpg")

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE


EndFunc   ;==>_Main