_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