_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 содержит не нулевое значение кода ошибки. |
См. также
Пример
#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