Partager via


LinearGradientBrush::SetBlend, méthode (gdiplusbrush.h)

La méthode LinearGradientBrush::SetBlend définit les facteurs de fusion et les positions de fusion de ce pinceau à dégradé linéaire pour créer un mélange personnalisé.

Syntaxe

Status SetBlend(
  [in] const REAL *blendFactors,
  [in] const REAL *blendPositions,
  [in] INT        count
);

Paramètres

[in] blendFactors

Type : const REAL*

Pointeur vers un tableau de nombres réels qui spécifient des facteurs de fusion. Chaque nombre du tableau spécifie un pourcentage de la couleur de fin et doit se trouver dans la plage comprise entre 0,0 et 1,0.

[in] blendPositions

Type : const REAL*

Pointeur vers un tableau de nombres réels qui spécifient des positions de fusion. Chaque nombre dans le tableau indique un pourcentage de la distance entre la limite de départ et la limite de fin et se trouve dans la plage comprise entre 0,0 et 1.0, où 0,0 indique la limite de début du dégradé et 1.0 indique la limite de fin. Au moins deux positions doivent être spécifiées : la première position, qui est toujours 0.0f, et la dernière position, qui est toujours 1.0f. Sinon, le comportement n’est pas défini. Une position de fusion comprise entre 0,0 et 1,0 indique une ligne, parallèle aux lignes limites, qui est une certaine fraction de la distance entre la limite de départ et la limite de fin. Par exemple, une position de fusion de 0,7 indique la ligne qui correspond à 70 % de la distance entre la limite de départ et la limite de fin. La couleur est constante sur les lignes qui sont parallèles aux lignes limites.

[in] count

Type : INT

Entier qui spécifie le nombre d’éléments dans le tableau blendFactors . Il s’agit du même nombre d’éléments dans le tableau blendPositions . Le facteur de fusion d’un index de tableau donné correspond à la position de fusion sur ce même index de tableau.

Valeur retournée

Type : État

Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .

Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .

Notes

Un objet LinearGradientBrush a deux limites. Lorsque vous remplissez une zone avec un pinceau en dégradé linéaire, la couleur change progressivement à mesure que vous passez de la limite de départ à la limite de fin. Par défaut, la couleur est linéairement liée à la distance, mais vous pouvez personnaliser la relation entre la couleur et la distance en appelant la méthode LinearGradientBrush::SetBlend .

Exemples

L’exemple suivant crée un pinceau de dégradé linéaire, définit un mélange personnalisé et utilise le pinceau pour remplir un rectangle.

VOID Example_SetBlend(HDC hdc)
{
   Graphics myGraphics(hdc);

   REAL factors[4] = {0.0f, 0.4f, 0.6f, 1.0f};
   REAL positions[4] = {0.0f, 0.2f, 0.8f, 1.0f};
   Rect rect(0, 0, 100, 50);

   LinearGradientBrush linGrBrush(
      rect,
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 0, 255),  // blue
      LinearGradientModeHorizontal);

   linGrBrush.SetBlend(factors, positions, 4);
   myGraphics.FillRectangle(&linGrBrush, rect);
}

Spécifications

   
Client minimal pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête gdiplusbrush.h (inclure Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Pinceaux et formes remplies

Color

Création d’un dégradé linéaire

Remplissage d’une forme avec un dégradé de couleurs

LinearGradientBrush

LinearGradientBrush::GetBlend

Rect