Функция _GraphGDIPlus_Plot_Start

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


_GraphGDIPlus_Plot_Start

Задаёт начальную точку графика

#Include <GraphGDIPlus.au3>
_GraphGDIPlus_Plot_Start(ByRef $aGraphArray, $iX, $iY)

Параметры

$aGraphArray Массив, возвращённый функцией _GraphGDIPlus_Create
$iX Новая X-координата точки
$iY Новая Y-координата точки

Примечания

Позволяет вставить разрыв графика или начать новую линию графика, не оставляя след от предыдущей точки.

Пример

#include "GraphGDIPlus.au3"

Local $hGUI, $aGraph

Opt("GUIOnEventMode", 1)

$hGUI = GUICreate("", 600, 600)
GUISetOnEvent(-3, "_Exit")
GUISetState()

; Создаёт область графика
$aGraph = _GraphGDIPlus_Create($hGUI, 40, 30, 530, 520, 0xFF000000, 0xFF88B3DD)

; Устанавливает шкалу по осям XY, от -5 до 5
_GraphGDIPlus_Set_RangeX($aGraph, -5, 5, 10, 1, 1)
_GraphGDIPlus_Set_RangeY($aGraph, -5, 5, 10, 1, 1)

; Устанавливает сетку по осям XY
_GraphGDIPlus_Set_GridX($aGraph, 1, 0xFF6993BE)
_GraphGDIPlus_Set_GridY($aGraph, 1, 0xFF6993BE)

; Рисует график
_Draw_Graph()

While 1
    Sleep(100)
WEnd

Func _Draw_Graph()
    Local $First, $y
    ; Задаёт цвет и размер линии графика
    _GraphGDIPlus_Set_PenColor($aGraph, 0xFF325D87)
    _GraphGDIPlus_Set_PenSize($aGraph, 2)

    ; Рисует линию
    $First = True
    For $i = -5 To 5 Step 0.005
        $y = _GammaFunction($i)
        If $First = True Then _GraphGDIPlus_Plot_Start($aGraph, $i, $y) ; Начальная точка
        $First = False
        _GraphGDIPlus_Plot_Line($aGraph, $i, $y)
        _GraphGDIPlus_Refresh($aGraph)
    Next
EndFunc   ;==>_Draw_Graph

Func _GammaFunction($iZ)
    Local $nProduct = 2 ^ $iZ / (1 + $iZ)
    For $i = 2 To 1000
        $nProduct *= (1 / $i + 1) ^ $iZ / ($iZ / $i + 1)
    Next
    Return $nProduct / $iZ
EndFunc   ;==>_GammaFunction

Func _Exit()
    ; Удаляет график, освобождает ресурсы
    _GraphGDIPlus_Delete($hGUI, $aGraph)
    Exit
EndFunc   ;==>_Exit