Remplit une spline cardinale fermée
#include <GDIPlus.au3>
_GDIPlus_GraphicsFillClosedCurve ( $hGraphics, $aPoints [, $hBrush = 0] )
$hGraphics | Handle de l'objet Graphics |
$aPoints | Tableau qui indique les 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 |
$hBrush | [optionnel] Handle de l'objet Brush (pinceau) qui est utilisé pour remplir la spline. Si 0, un pinceau noir 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 de points et se connecte avec le premier point du tableau.
La tableau de points doit contenir un minimum de trois éléments.
Consultez GdipFillClosedCurve dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI, $hGraphic, $aPoints[8][2] ; Crée GUI $hGUI = GUICreate("GDI+", 400, 300) GUISetState(@SW_SHOW) ; Remplit 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_GraphicsFillClosedCurve($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 ; $iBGColor est au format RRGGBB Local $hGUI = GUICreate("GDI+ example", $iWidth, $iHeight) ; Crée une fenêtre 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 Graphics à partir du handle de la fenêtre _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing Local $hBrush = _GDIPlus_BrushCreateSolid(0xFFFFFFFF) ; Format de couleur 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_GraphicsFillClosedCurve($hGraphics, $aPoints, $hBrush) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources GDI+ _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example