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

_Example()

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

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

	$hGUI = GUICreate("Коэффициенты и позиции смешивания", 400, 200)
	GUISetState()

	; Создаёт графический объект из дескриптора окна
	$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
	; Create the defining rectangle for the linear gradient brush
	$tRectF = _GDIPlus_RectFCreate(0, 0, 400, 200)
	; Создаёт кисть линейного градиента, который плавно изменяет цвет с жёлтого на пурпурный
	$hBrush = _GDIPlus_LineBrushCreateFromRect($tRectF, 0xFFFFFF00, 0xFFFF00DD, 0, 1) ; Горизонтальное направление

	; Задаёт коэффициент и позиции кисти линейного градиента
	$aBlends[0][0] = 4 ; Использует 4 коэффициента и позиции

	$aBlends[1][0] = 0 ; Коэффициент
	$aBlends[1][1] = 0 ; Позиция
	$aBlends[2][0] = 1 ; Процент смешивания равен 100% (жёлтый переходит в пурпурный до границы 20%)
	$aBlends[2][1] = 0.2 ; Процент расстояние от левой границы равен 20%
	$aBlends[3][0] = 0 ; Процент смешивания равен 0% (пурпурный переходит жёлтый от границы 20% до границы 70%)
	$aBlends[3][1] = 0.7 ; Процент расстояние от левой границы равен 70%
	$aBlends[4][0] = 1 ; Процент смешивания равен 100% (rжёлтый переходит в пурпурный от границы 70% до границы 100%)
	$aBlends[4][1] = 1 ; Процент расстояние от левой границы равен 100%

	; Устанавливает коэффициенты и позиции смешивания кисти линейного градиента
	_GDIPlus_LineBrushSetBlend($hBrush, $aBlends)

	; Заполняет прямоугольник кистью с линейным градиентом
	_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