Funktionreferenz


_GDIPlus_GraphicsDrawBezier

Beschreibung anzeigen in

Zeichnet eine Bezierkurve

#include <GDIPlus.au3>
_GDIPlus_GraphicsDrawBezier ( $hGraphics, $nX1, $nY1, $nX2, $nY2, $nX3, $nY3, $nX4, $nY4 [, $hPen = 0] )

Parameter

$hGraphics Handle zu dem Grafik-Objekt
$hPen Handle zu dem Zeichenstift-Objekt, welches verwendet wird um den Bogen zu zeichnen
$nX1 X-Koordinate des Startpunktes
$nY1 Y-Koordinate des Startpunktes
$nX2 X-Koordinate des ersten Kontrollpunktes
$nY2 Y-Koordinate des ersten Kontrollpunktes
$nX3 X-Koordinate des zweiten Kontrollpunktes
$nY3 Y-Koordinate des zweiten Kontrollpunktes
$nX4 X-Koordinate des Endpunktes
$nY4 Y-Koordinate des Endpunktes
$hPen [optional] Handle zu dem Zeichenstift-Objekt, welches verwendet wird, um die Bezierkurve zu zeichnen. Falls 0, wird ein vollfarbig schwarz gefüllter Zeichenstift mit einer Breite von 1 verwendet.

Rückgabewert

Erfolg: True
Fehler: False und setzt das @error Flag auf ungleich null, das @extended Flag kann den GPSTATUS-Fehlercode ($GPID_ERR* siehe GDIPlusConstants.au3) enthalten.

Bemerkungen

Eine Bezierkurve durchläuft nicht seine Kontrollpunkte.
Die Kontrollpunkte wirken wie Magnete, mit denen der Weg der Kurve in einer bestimmten Richtung beeinflusst werden kann.

Siehe auch

Suche nach GdipDrawBezier in der MSDN Bibliothek.

Beispiel

Beispiel 1

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $hGui, $hGraphic

    ; Erstellt eine GUI
    $hGui = GUICreate("GDI+", 400, 300)
    GUISetState(@SW_SHOW)

    ; Zeichnet eine Bezierkurve
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)

    _GDIPlus_GraphicsDrawBezier($hGraphic, 50, 50, 100, 5, 125, 25, 250, 50)

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Ressourcen freigeben
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example

Beispiel 2

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    _GDIPlus_Startup() ;initialize GDI+
    Local Const $iWidth = 600, $iHeight = 600, $iBgColor = 0x303030 ;$iBGColor format RRGGBB

    Local $hGUI = GUICreate("GDI+ Example (" & @ScriptName & ")", $iWidth, $iHeight) ;create a test GUI
    GUISetBkColor($iBgColor, $hGUI) ;set GUI background color
    GUISetState(@SW_SHOW)

    Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ;create a graphics object from a window handle
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ;sets the graphics object rendering quality (antialiasing)
    Local $hPen = _GDIPlus_PenCreate(0xFFFFFF00, 8) ;color format AARRGGBB (hex)

    _GDIPlus_GraphicsDrawBezier($hGraphics, 50.25, 350.75, 100.5, 5.5, 125.5, 25.5, 550.5, 550.25, $hPen)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ;cleanup GDI+ resources
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    GUIDelete($hGUI)
EndFunc   ;==>Example