Définit les taux de mélange des couleurs et des positions associées pour créer un dégradé personnalisé
#include <GDIPlus.au3>
_GDIPlus_LineBrushSetBlend ( $hLineGradientBrush, $aBlends )
$hLineGradientBrush | Handle de l'objet LinearGradientBrush |
$aBlends | Tableau des taux de mélange de couleurs 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 GdipSetLineBlend dans la Librairie MSDN.
#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_LineBrushCreate(0, 0, 280, 570, 0xFFFF0000, 0xFF00FF00, 1) ; Crée un pinceau à dégradé linéaire Local $aBlends[5][2] $aBlends[0][0] = 4 ; Utilise 4 taux et 4 zones $aBlends[1][0] = 0 ; Taux $aBlends[1][1] = 0 ; $aBlends[2][0] = 1 ; Le pourcentage du mélange est de 100% de vert (le dégradé du rouge au vert est progressivement effectué sur une bande de 20% à partir de la gauche) $aBlends[2][1] = 0.2 ; Le pourcentage de la distance à partir de la frontière gauche du pinceau est de 20% $aBlends[3][0] = 0 ; Le pourcentage du mélange est de 0% de vert (le dégradé du vert au rouge est progressivement effectué sur une bande de 20% à 70 % à partir de la gauche) $aBlends[3][1] = 0.7 ; Le pourcentage de la distance de la frontière gauche du pinceau est de 70% $aBlends[4][0] = 1 ; Le pourcentage du mélange est de 100% de vert (le dégradé du rouge au vert est progressivement effectué sur une zone de 70% à 100 % à partir de la gauche) $aBlends[4][1] = 1 ; Le pourcentage de la distance de la frontière gauche du pinceau est 100% _GDIPlus_LineBrushSetBlend($hBrush, $aBlends); Définit les positions de couleurs de pinceau de dégradé linéaire et les facteurs _GDIPlus_GraphicsFillEllipse($hGraphics, 100, 50, 380, 500, $hBrush) ; Dessine l'oeuf Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources GDI+ _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example