Dessine une spline cardinale fermée
#include <GDIPlus.au3>
_GDIPlus_GraphicsDrawClosedCurve ( $hGraphics, $aPoints [, $hPen = 0] )
$hGraphics | Handle de l'objet Graphics |
$aPoints | Tableau qui contient des points de la courbe : [0][0] - Nombre de points [1][0] - Point 1 - abscisse X [1][1] - Point 1 - ordonnée Y [2][0] - Point 2 - abscisse X [2][1] - Point 2 - ordonnée Y [n][0] - Point n - abscisse X [n][1] - Point n - ordonnée Y |
$hPen | [optionnel] Handle de l'objet Pen qui sera utilisé pour dessiner la courbe. Si 0, un crayon noir qui trace des lignes continues de largeur 1 sera utilisé. |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
Dans une spline cardinale fermée, la courbe se poursuit après le dernier point du tableau et se connecte avec le premier point du tableau.
La tableau de points doit contenir un minimum de trois éléments.
Consultez GdipDrawClosedCurve dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI, $hGraphic, $aPoints[8][2] ; Crée une GUI $hGUI = GUICreate("GDI+", 400, 300) GUISetState(@SW_SHOW) ; Dessine une spline cardinale _GDIPlus_Startup() $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) $aPoints[0][0] = 7 $aPoints[1][0] = 50 $aPoints[1][1] = 50 $aPoints[2][0] = 100 $aPoints[2][1] = 25 $aPoints[3][0] = 200 $aPoints[3][1] = 5 $aPoints[4][0] = 250 $aPoints[4][1] = 50 $aPoints[5][0] = 300 $aPoints[5][1] = 100 $aPoints[6][0] = 350 $aPoints[6][1] = 200 $aPoints[7][0] = 250 $aPoints[7][1] = 250 _GDIPlus_GraphicsDrawClosedCurve($hGraphic, $aPoints) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() EndFunc ;==>Example
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() _GDIPlus_Startup() ; Initialise GDI+ Local Const $iWidth = 600, $iHeight = 600, $iBgColor = 0x303030 ; Le format de $iBGColor est RRGGBB Local $hGUI = GUICreate("GDI+ example", $iWidth, $iHeight) ; Crée une GUI de test GUISetBkColor($iBgColor, $hGUI) ; Définit la couleur de fond de la GUI GUISetState(@SW_SHOW) Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet graphique à partir d'un handle fenêtre _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing Local $hPen = _GDIPlus_PenCreate(0xFFFFFFFF, 4) ; Le format de couleur est AARRGGBB (hex) Local $aPoints[8][2] $aPoints[0][0] = 7 $aPoints[1][0] = 50.5 $aPoints[1][1] = 50.5 $aPoints[2][0] = 100.75 $aPoints[2][1] = 25.33 $aPoints[3][0] = 200.66 $aPoints[3][1] = 5.5 $aPoints[4][0] = 250.25 $aPoints[4][1] = 50.75 $aPoints[5][0] = 300.125 $aPoints[5][1] = 100.375 $aPoints[6][0] = 590.8 $aPoints[6][1] = 200.222 $aPoints[7][0] = 250.55 $aPoints[7][1] = 590.45 _GDIPlus_GraphicsDrawClosedCurve($hGraphics, $aPoints, $hPen) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources GDI+ _GDIPlus_PenDispose($hPen) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example