Функция _GDIPlus_LineBrushSetPresetBlend

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


_GDIPlus_LineBrushSetPresetBlend

Устанавливает цвета, которые будут интерполированы для объекта кисти линейного градиента в соответствующих позициях их смешивания

#Include <GDIP.au3>
_GDIPlus_LineBrushSetPresetBlend($hLineGradientBrush, $aInterpolations)

Параметры

$hLineGradientBrush Указатель на объект LinearGradientBrush
$aInterpolations Массив содержащий цвета и их позиции для смешивания.
[0][0] - Количество элементов в массиве (пар цвета и позиции), должна быть не менее 2
[1][0] - Цвет 1
[1][1] - Позиция 1
[2][0] - Цвет 2
[2][1] - Позиция 2
...
[n][0] - Цвет n
[n][1] - Позиция n

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False, либо:
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall()
$GDIP_STATUS содержит не нулевое значение кода ошибки.

См. также

_GDIPlus_LineBrushGetPresetBlend

Пример

#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