Pour un pinceau à dégradé linéaire existant, définit la manière de mélanger les deux couleurs selon une courbe en forme de cloche
#include <GDIPlus.au3>
_GDIPlus_LineBrushSetSigmaBlend ( $hLineGradientBrush, $fFocus [, $fScale = 1] )
$hLineGradientBrush | Handle de l'objet LinearGradientBrush |
$fFocus | Nombre compris entre 0.0 et 1.0 qui spécifie la zone dans laquelle la couleur est progressivement (mais pas linéairement!) fusionnée de la couleur de début à un pourcentage de la couleur de fin |
$fScale | [optionnel] Nombre compris entre 0.0 à 1.0 qui indique le pourcentage (/100) de la couleur de fin que le dégradé atteindra progressivement par fusion avec la couleur de début du dégradé. |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*). |
Cette fonction spécifie un focus, c'est-à-dire le point auquel le dégradé se compose uniquement de la couleur de fin. Le paramètre focus représente un emplacement sous la forme d'un pourcentage de la distance le long de la ligne de dégradé. Le dégradé varie dans le sens décroissant vers la couleur de début selon une courbe en forme de cloche (distribution normale) vers un des côtés.
Consultez GdipSetLineSigmaBlend dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() _GDIPlus_Startup() ; Initialise GDI+ Local Const $iWidth = 600, $iHeight = 300, $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_LineBrushCreate(0, 0, 0, 280, 0xFFFFFF00, 0xFF0000FF, 1) ; Crée un pinceau _GDIPlus_GraphicsFillRect($hGraphics, 10, 10, 280, 280, $hBrush) ; Dessine le rectangle rempli _GDIPlus_LineBrushSetSigmaBlend($hBrush, 0.333, .85) _GDIPlus_GraphicsFillRect($hGraphics, 310, 10, 280, 280, $hBrush) ; Dessine le rectangle rempli _GDIPlus_GraphicsDrawString($hGraphics, "w/o sigma blend", 14, 14) _GDIPlus_GraphicsDrawString($hGraphics, "w/ sigma blend", 314, 14) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources GDI+ _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example