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


_GDIPlus_GraphicsFillClosedCurve2

Рисует заполненную замкнутую кривую из массива точек

#Include <GDIP.au3>
_GDIPlus_GraphicsFillClosedCurve2($hGraphics, $aPoints, $nTension[, $hBrush = 0[, $iFillMode = 0]])

Параметры

$hGraphics Указатель на объект Graphics
$aPoints Массив, содержащий координаты точек замкнутой кривой:
[0][0] - Количество точек
[1][0] - X-координата точки 1
[1][1] - Y-координата точки 1
[2][0] - X-координата точки 2
[2][1] - Y-координата точки 2
...
[n][0] - X-координата точки n
[n][1] - Y-координата точки n
$nTension Число, указывающее, насколько ярко выражены изгибы кривой (амплитуда)
$hBrush [необязательный] Дескриптор объекта кисти, которая используется для заполнения внутреннего пространства замкнутой кривой. Если 0, то чёрная кисть.
$iFillMode [необязательный] Режим заполнения
0 - (по умолчанию) Области заполняются согласно правилу чётного-нечётного равенства
1 - Области заполняются согласно правилу ненулевого изгиба

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

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

См. также

Пример

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

_Example()

Func _Example()
    Local $hGUI, $hGraphics, $hHatchBrush, $aPoints[11][2], $iI, $iJ

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

    $hGUI = GUICreate("Заполненная замкнутая кривая", 400, 350)
    GUISetState()

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

    ; Задействует сглаживание
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $SmoothingModeAntiAlias)

    ; Создаёт несколько точек
    $aPoints[0][0] = 10

    For $iI = 0 To 1
        For $iJ = 1 To 5
            $aPoints[$iI*5+$iJ][0] = 300*$iI+50
            $aPoints[$iI*5+$iJ][1] = $iJ*50
        Next
    Next

    ; Создаёт штриховую кисть HatchBrush для заполнения замкнутой кривой
    $hHatchBrush = _GDIPlus_HatchBrushCreate($HatchStyleZigZag, 0xCC00FF80, 0x40000000)

    ; Создаёт заполненную замкнутую кривую, с указанием значение амплитуды 1.5
    _GDIPlus_GraphicsFillClosedCurve2($hGraphics, $aPoints, 1.5, $hHatchBrush)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

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