Функция _GDIPlus_GraphicsDrawBeziers

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


_GDIPlus_GraphicsDrawBeziers

Рисует кривую Безье

#Include <GDIP.au3>
_GDIPlus_GraphicsDrawBeziers($hGraphics, $aPoints, $hPen = 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
$hPen Дескриптор объекта карандаша, который используется для рисования кривой Безье. Если 0, то сплошная чёрная линия шириной 1 пиксель.

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

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

См. также

Пример

; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>

_Example()

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

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

    $hGUI = GUICreate("Рисует кривую Безье", 400, 350)
    GUISetState()

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

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

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

    For $iI = 1 To 10
        $aPoints[$iI][0] = Random(0, 350, 1)
        $aPoints[$iI][1] = Random(0, 300, 1)
    Next

    ; Создаёт объект карандаша
    $hPen = _GDIPlus_PenCreate($GDIP_MAROON, 8)

    ; Рисует кривую Безье
    _GDIPlus_GraphicsDrawBeziers($hGraphics, $aPoints, $hPen)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

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