; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>

_Example()

Func _Example()
	Local $hGUI, $hGraphics, $hBmp, $hBitmap, $hIA, $tColorMatrix, $pColorMatrix, $iWidth, $iHeight, $aSize

	; Инициализирует библиотеку GDI+
	_GDIPlus_Startup()

	; Создаёт GUI (нажмите ESC для выхода)
	$hGUI = GUICreate("Создаёт объект ImageAttribute", @DesktopWidth / 2, @DesktopHeight*2/3)

	; Создаёт графический объект из дескриптора окна
	$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)

	; Делает снимок левой верхней части экрана
	$hBmp = _ScreenCapture_Capture("", 0, 0, @DesktopWidth / 2, @DesktopHeight / 3, False)

	; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
	$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)

	; Создаёт объект ImageAttribute
	$hIA = _GDIPlus_ImageAttributesCreate()

	; Создаёт цветную матрицу, используемую для регулирования цвета изображения
	; Используйте перемещение цветовой матрицы для увеличения яркости изображения
	$tColorMatrix = _GDIPlus_ColorMatrixCreateTranslate(0.15, 0.15, 0.15)
	$pColorMatrix = DllStructGetPtr($tColorMatrix)

	; Устанавливает матрицу цвета в объект ImageAttribute
	_GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, True, $pColorMatrix)

	GUISetState()

	; Получает размеры изображения
	$aSize = _GDIPlus_ImageGetDimension($hBitmap)
	$iWidth = $aSize[0]
	$iHeight = $aSize[1]

	; Устанавливает режим интерполяции, влияющий на качество
	_GDIPlus_GraphicsSetInterpolationMode($hGraphics, 7)

	; Рисует изображение в указанном прямоугольнике
	_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, @DesktopWidth / 2, @DesktopHeight / 3)

	; Рисует изображение с применением регулировки цвета
	_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, @DesktopHeight / 3, @DesktopWidth / 2, @DesktopHeight / 3, $hIA)

	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

	; Освобождает ресурсы
	_GDIPlus_ImageAttributesDispose($hIA)
	_WinAPI_DeleteObject($hBmp)
	_GDIPlus_ImageDispose($hBitmap)
	_GDIPlus_GraphicsDispose($hGraphics)

	; Закрывает библиотеку GDI+
	_GDIPlus_Shutdown()
EndFunc   ;==>_Example