Функция _GDIPlus_LineBrushSetLinearBlend

         Описание функции


_GDIPlus_LineBrushSetLinearBlend

Устанавливает форму смешивания кисти линейного градиента, чтобы создать пользовательское смешивание треугольной формы

#Include <GDIP.au3>
_GDIPlus_LineBrushSetLinearBlend($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_LineBrushSetSigmaBlend

См. также

Искать GdipSetLineLinearBlend в библиотеке 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_LineBrushSetLinearBlend($hBrush, 0.5, 0.6)
    ; Заполняет прямоугольник кистью с линейным градиентом
    _GDIPlus_GraphicsFillRect($hGraphics, 0, 0, 400, 100, $hBrush)

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

    ; Устанавливает фокус смешивания кисти линейного градиента на расстоянии 80% слева со смешиванием 100% (100% синего, 0% красного)
    _GDIPlus_LineBrushSetLinearBlend($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