Définit les taux de mélande des couleurs et des positions associées d'un pinceau à couleurs dégradées de tracé
#include <GDIPlus.au3>
_GDIPlus_PathBrushSetBlend ( $hPathGradientBrush, $aBlends )
$hPathGradientBrush | Handle de l'objet PathGradientBrush |
$aBlends | Tableau des taux de mélange et des positions associées: [0][0] - Le nombre de paires (taux, position), doit être d'au moins 2 [1][0] - Taux 1 [1][1] - Position 1 [2][0] - Taux 2 [2][1] - Position 2 [n][0] - Taux n [n][1] - Position n |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*). |
Chaque Taux du tableau indique le pourcentage (/100) de la couleur de fin et doit être compris entre 0.0 et 1.0.
Chaque Position du tableau indique le pourcentage (/100) de la distance entre la frontière de début et la frontière de fin et doit être compris entre 0.0 et 1.0, où 0.0 indique la frontière de début du dégradé et 1.0 indique la frontière de fin.
Consultez GdipSetPathGradientBlend dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI = GUICreate("GDI+", 200, 180) GUISetState(@SW_SHOW) _GDIPlus_Startup() Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) _GDIPlus_GraphicsClear($hGraphics, 0xFF000000) Local $hPath = _GDIPlus_PathCreate() _GDIPlus_PathAddEllipse($hPath, 10, 10, 180, 160) Local $hBrush = _GDIPlus_PathBrushCreateFromPath($hPath) _GDIPlus_PathBrushSetCenterPoint($hBrush, 100, 90) _GDIPlus_PathBrushSetCenterColor($hBrush, 0xFFFF0000) Local $aBlend[4][2] = [[3]] $aBlend[1][0] = 0 ; 0% de couleur au centre $aBlend[1][1] = 0 ; position = frontière $aBlend[2][0] = 0.7 ; 70% de couleur au centre $aBlend[2][1] = 0.1 ; 10% de la distance frontière-> point central $aBlend[3][0] = 1 ; 100% de couleur au centre $aBlend[3][1] = 1 ; point central _GDIPlus_PathBrushSetBlend($hBrush, $aBlend) Local $aRect = _GDIPlus_PathBrushGetRect($hBrush) _GDIPlus_GraphicsFillRect($hGraphics, $aRect[0], $aRect[1], $aRect[2], $aRect[3], $hBrush) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources _GDIPlus_BrushDispose($hBrush) _GDIPlus_PathDispose($hPath) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() EndFunc ;==>Example