Substitue la matrice de transformation d'un pinceau à couleurs dégradées de tracé, par le produit d'elle-même et d'une autre matrice
#include <GDIPlus.au3>
_GDIPlus_PathBrushMultiplyTransform ( $hPathGradientBrush, $hMatrix [, $iOrder = 0] )
$hPathGradientBrush | Handle de l'objet PathGradientBrush |
$hMatrix | Handle de la matrice qui sera multiplié par la matrice de transformation actuelle du pinceau |
$iOrder | [optionnel] Ordre de multiplication des matrices: 0 - La matrice passée est à gauche 1 - La matrice passée est à droite |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*). |
Consultez GdipMultiplyPathGradientTransform dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI, $hGraphic, $hBrush, $hPath, $hMatrix ; Crée une GUI $hGUI = GUICreate("GDI+", 400, 400) GUISetState(@SW_SHOW) _GDIPlus_Startup() $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet graphique à partir du handle de la fenêtre _GDIPlus_GraphicsSetSmoothingMode($hGraphic, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing _GDIPlus_GraphicsClear($hGraphic, 0xFFFFFFFF) $hPath = _GDIPlus_PathCreate() ; Crée un objet path _GDIPlus_PathAddEllipse($hPath, 10, 10, 380, 380) $hBrush = _GDIPlus_PathBrushCreateFromPath($hPath) _GDIPlus_PathBrushSetCenterPoint($hBrush, 200, 100) _GDIPlus_PathBrushSetCenterColor($hBrush, 0xFFFFFFFF) _GDIPlus_PathBrushSetSurroundColor($hBrush, 0xFFAA00FF) _GDIPlus_PathBrushSetSigmaBlend($hBrush, 1) _GDIPlus_PathBrushSetGammaCorrection($hBrush, True) $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixTranslate($hMatrix, -200, -200) _GDIPlus_MatrixRotate($hMatrix, 1, True) _GDIPlus_MatrixTranslate($hMatrix, 200, 200, True) For $i = 1 To 360 _GDIPlus_GraphicsFillPath($hGraphic, $hPath, $hBrush) _GDIPlus_PathBrushMultiplyTransform($hBrush, $hMatrix, True) Sleep(10) Next ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources _GDIPlus_MatrixDispose($hMatrix) _GDIPlus_PathDispose($hPath) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() EndFunc ;==>Example