UDF > GDIPlus > LineBrush >


_GDIPlus_LineBrushSetBlend

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 )

Paramètres

$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

Valeur de retour

Succès: Retourne True.
Échec: Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*).

Remarque

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.

Voir aussi

Consultez GdipSetLineBlend dans la Librairie MSDN.

Exemple

#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