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

_Example()

Func _Example()
	Local $hGUI, $hGraphics, $hBrush, $aInterpolations[5][2]

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

	$hGUI = GUICreate("Устанавливает цвета и позиции", 400, 200)
	GUISetState()

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

	; Создаёт кисть линейного градиента, который плавно изменяет цвет с чёрного на белый
	$hBrush = _GDIPlus_LineBrushCreate(0, 0, 400, 200, 0xFF000000, 0xFFFFFFFF, 1) ; Повторение кисти

	; Задаёт интерполяцию цветов и позиций
	$aInterpolations[0][0] = 4

	$aInterpolations[1][0] = 0xFFFF0000 ; Красный
	$aInterpolations[1][1] = 0				; 0% Слева
	$aInterpolations[2][0] = 0xFF00FF00 ; Зелёный
	$aInterpolations[2][1] = 0.3				; На 30% от левого края
	$aInterpolations[3][0] = 0xFF0000FF ; Синий
	$aInterpolations[3][1] = 0.7				; На 70% от левого края
	$aInterpolations[4][0] = 0xFFFFFF00 ; Жёлтый
	$aInterpolations[4][1] = 1				; На 100% от левого края

	; Устанавливает позиции и цвета кисти линейного градиента
	_GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations)

	; Заполняет прямоугольник кистью с линейным градиентом
	_GDIPlus_GraphicsFillRect($hGraphics, 0, 0, 400, 200, $hBrush)

	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

	; Освобождает ресурсы
	_GDIPlus_BrushDispose($hBrush)
	_GDIPlus_GraphicsDispose($hGraphics)

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