Функция _GDIPlus_PathBrushGetSurroundColorsWithCount

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


_GDIPlus_PathBrushGetSurroundColorsWithCount

Получает цвета окружения кисти градиента

#Include <GDIP.au3>
_GDIPlus_PathBrushGetSurroundColorsWithCount($hPathGradientBrush)

Параметры

$hPathGradientBrush Указатель на объект PathGradientBrush

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

Успех:Возвращает массив, содержащий цвета окружения кисти градиента:
[0] - Количество цветов
[1] - Цвет 1
[2] - Цвет 2
[n] - Цвет n
Ошибка:Возвращает -1 и либо:
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall()
$GDIP_STATUS содержит не нулевое значение кода ошибки
$GDIP_ERROR:
1 - Сбой функции _GDIPlus_PathBrushGetSurroundColorCount, $GDIP_STATUS содержит код ошибки
2 - Объект PathGradientBrush не содержит никаких окружающих цветов
3 - Сбой функции _GDIPlus_PathBrushGetSurroundColorsWithCount, $GDIP_STATUS содержит код ошибки

См. также

_GDIPlus_PathBrushSetSurroundColorsWithCount

См. также

Искать GdipGetPathGradientSurroundColorsWithCount в библиотеке MSDN

Пример

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

_Example()

Func _Example()
    Local $hGUI, $hGraphics, $hBrush, $aGetColors
    Local $aColors[11] = [10, 0xFFFF0000, 0xFFFF0000, 0xFF0000FF, 0xFFFF0000, 0xFFFF0000, 0xFF0000FF, 0xFFFF0000, 0xFFFFFFFF, 0xFFFF0000, 0xFF0000FF]
    Local $aPoints[11][2] = [[10],[303, 114],[215, 178],[248, 281],[160, 218],[72, 281],[105, 178],[17, 114],[126, 113],[160, 10],[194, 113]]

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

    $hGUI = GUICreate("Получает цвета окружения кисти градиента", 400, 300, 10)
    GUISetState()

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

    ; Создаёт путь кисти градиента из точек
    $hBrush = _GDIPlus_PathBrushCreate($aPoints)
    ; Устанавливает цвет центра кисти градиента
    _GDIPlus_PathBrushSetCenterColor($hBrush, 0xFF00FF00)
    ; Устанавливает цвета окружения кисти градиента
    _GDIPlus_PathBrushSetSurroundColorsWithCount($hBrush, $aColors)

    ; Заполняет многоугольник используя кисть градиента
    _GDIPlus_GraphicsFillPolygon($hGraphics, $aPoints, $hBrush)

    ; Получает цвета окружения кисти градиента
    $aGetColors = _GDIPlus_PathBrushGetSurroundColorsWithCount($hBrush)
    If $aGetColors <> -1 Then
        For $i = 1 To $aGetColors[0]
            $aGetColors[$i] = StringFormat("0x%08X", $aGetColors[$i]) ; Преобразует в 16-ричный вид
        Next
        _ArrayDisplay($aGetColors)
    EndIf

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

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