Функция _GDIPlus_LineBrushGetPresetBlendCount

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


_GDIPlus_LineBrushGetPresetBlendCount

Получает количество цветов интерполированных в данный момент для объекта кисти линейного градиента

#Include <GDIP.au3>
_GDIPlus_LineBrushGetPresetBlendCount($hLineGradientBrush)

Параметры

$hLineGradientBrush Указатель на объект LinearGradientBrush

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

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

См. также

_GDIPlus_LineBrushGetPresetBlend

Пример

#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <Array.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)

    ; Получает количество цветов в кисти линейного градиента
    $iCountColor = _GDIPlus_LineBrushGetPresetBlendCount($hBrush)
    MsgBox(0, 'Сообщение', 'Количество цветов: ' & $iCountColor)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

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