Partager via


Fonction GdiGradientFill (wingdi.h)

La fonction GdiGradientFill remplit les structures rectangle et triangle.

Syntaxe

BOOL GdiGradientFill(
  [in] HDC        hdc,
  [in] PTRIVERTEX pVertex,
  [in] ULONG      nVertex,
  [in] PVOID      pMesh,
  [in] ULONG      nCount,
  [in] ULONG      ulMode
);

Paramètres

[in] hdc

Handle du contexte de l’appareil de destination.

[in] pVertex

Pointeur vers un tableau de structures TRIVERTEX qui définissent chacune un sommet triangle.

[in] nVertex

Nombre de sommets dans pVertex.

[in] pMesh

Tableau de structures GRADIENT_TRIANGLE en mode triangle ou tableau de structures GRADIENT_RECT en mode rectangle.

[in] nCount

Nombre d’éléments (triangles ou rectangles) dans pMesh.

[in] ulMode

Mode de remplissage en dégradé. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
GRADIENT_FILL_RECT_H
Dans ce mode, deux points de terminaison décrivent un rectangle. Le rectangle est défini pour avoir une couleur constante (spécifiée par la structure TRIVERTEX ) pour les bords gauche et droit. GDI interpole la couleur du bord gauche à droite et remplit l’intérieur.
GRADIENT_FILL_RECT_V
Dans ce mode, deux points de terminaison décrivent un rectangle. Le rectangle est défini pour avoir une couleur constante (spécifiée par la structure TRIVERTEX ) pour les bords supérieur et inférieur. GDI interpole la couleur du bord supérieur au bord inférieur et remplit l’intérieur.
GRADIENT_FILL_TRIANGLE
Dans ce mode, un tableau de structures TRIVERTEX est passé à GDI ainsi qu’une liste d’index tableaux qui décrivent des triangles distincts. GDI effectue une interpolation linéaire entre les sommets triangle et remplit l’intérieur. Le dessin s’effectue directement en modes 24 et 32 bpp. Le dithering est effectué en mode 16, 8, 4 et 1 bpp.

Valeur retournée

Si la fonction réussit, la valeur de retour est TRUE.

Si la fonction échoue, la valeur de retour est FALSE.

Remarques

Note Cette fonction est identique à GradientFill.
 
Pour ajouter un ombrage lisse à un triangle, appelez la fonction GdiGradientFill avec les trois points de terminaison triangle. GDI interpole et remplit le triangle de manière linéaire. Voici la sortie de dessin d’un triangle ombré. Illustration d’un triangle qui remplit de l’orange au point supérieur au magenta sur la ligne du bas Pour ajouter un ombrage lisse à un rectangle, appelez GdiGradientFill avec les coordonnées supérieure gauche et inférieure droite du rectangle. Deux modes d’ombrage sont utilisés lors du dessin d’un rectangle. En mode horizontal, le rectangle est ombré de gauche à droite. En mode vertical, le rectangle est ombré de haut en bas. Voici la sortie de dessin de deux rectangles ombrés : l’un en mode horizontal, l’autre en mode vertical. Illustration d’un rectangle qui nuance du sombre à gauche à la lumière sur le côté droit Illustration d’un rectangle qui nuance de sombre en haut à clair en bas La fonction GdiGradientFill utilise une méthode de maillage pour spécifier les points de terminaison de l’objet à dessiner. Tous les sommets sont passés à GdiGradientFill dans le tableau pVertex . Le paramètre pMesh spécifie la façon dont ces sommets sont connectés pour former un objet. Lors du remplissage d’un rectangle, pMesh pointe vers un tableau de structures GRADIENT_RECT . Chaque structure GRADIENT_RECT spécifie l’index de deux sommets dans le tableau pVertex . Ces deux sommets forment la limite supérieure gauche et inférieure droite d’un rectangle.

Dans le cas du remplissage d’un triangle, pMesh pointe vers un tableau de structures GRADIENT_TRIANGLE . Chaque structure GRADIENT_TRIANGLE spécifie l’index de trois sommets dans le tableau pVertex . Ces trois sommets forment un triangle.

Pour simplifier l’accélération matérielle, cette routine n’est pas requise pour être parfaite en pixels à l’intérieur du triangle.

Notez que GdiGradientFill n’utilise pas le membre Alpha de la structure TRIVERTEX . Pour utiliser GdiGradientFill avec transparence, appelez GdiGradientFill , puis appelez GdiAlphaBlend avec les valeurs souhaitées pour le canal alpha de chaque vertex.

Pour plus d’informations, consultez Ombrage lisse, Dessin d’un triangle ombré et Dessin d’un rectangle ombré.

Configuration requise

Condition requise Valeur
Client minimal pris en charge 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 wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

Fonctions bitmap

Vue d’ensemble des bitmaps

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX