_GDIPlus_LineBrushSetSigmaBlend
Устанавливает форму смешивания кисти линейного градиента, чтобы создать пользовательское смешивание колоколообразной формы
#Include <GDIP.au3>
_GDIPlus_LineBrushSetSigmaBlend($hLineGradientBrush, $nFocus[, $nScale = 1])
Параметры
$hLineGradientBrush | Указатель на объект LinearGradientBrush |
$nFocus |
Расстояние в диапазоне от 0,0 до 1,0, которое указывает позицию конечного цвета |
$nScale |
[необязательный] Коэффициент конечного цвета в пределах от 0,0 до 1,0, находящегося в позиции фокуса. По умолчанию 1, это означает, что конечный цвет имеет полное преобладание. |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки. |
См. также
_GDIPlus_LineBrushSetLinearBlendСм. также
Искать GdipSetLineSigmaBlend в библиотеке MSDNПример
#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