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

_Example()

Func _Example()
	Local $hGUI, $hGraphics, $hBrush

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

	$hGUI = GUICreate("Фокус и интенсивность смешивания", 400, 320)
	GUISetState()

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

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

	; Устанавливает фокус смешивания кисти линейного градиента на расстоянии 50% слева со смешиванием 60% (60% синего, 40% красного)
	_GDIPlus_LineBrushSetSigmaBlend($hBrush, 0.5, 0.6)
	; Заполняет прямоугольник кистью с линейным градиентом
	_GDIPlus_GraphicsFillRect($hGraphics, 0, 0, 400, 100, $hBrush)

	; Устанавливает фокус смешивания кисти линейного градиента на расстоянии 20% слева со смешиванием 80% (80% синего, 20% красного)
	_GDIPlus_LineBrushSetSigmaBlend($hBrush, 0.2, 0.8)
	_GDIPlus_GraphicsFillRect($hGraphics, 0, 110, 400, 100, $hBrush)

	; Устанавливает фокус смешивания кисти линейного градиента на расстоянии 80% слева со смешиванием 100% (100% синего, 0% красного)
	_GDIPlus_LineBrushSetSigmaBlend($hBrush, 0.8, 1)
	_GDIPlus_GraphicsFillRect($hGraphics, 0, 220, 400, 100, $hBrush) 

	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

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