Función GdiGradientFill (wingdi.h)

La función GdiGradientFill rellena estructuras de rectángulo y triángulo.

Sintaxis

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

Parámetros

[in] hdc

Controlar el contexto del dispositivo de destino.

[in] pVertex

Puntero a una matriz de estructuras TRIVERTEX que definen cada uno de ellos un vértice de triángulo.

[in] nVertex

Número de vértices en pVertex.

[in] pMesh

Matriz de estructuras de GRADIENT_TRIANGLE en modo triángulo o una matriz de estructuras de GRADIENT_RECT en modo rectángulo.

[in] nCount

Número de elementos (triángulos o rectángulos) en pMesh.

[in] ulMode

Modo de relleno degradado. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
GRADIENT_FILL_RECT_H
En este modo, dos puntos de conexión describen un rectángulo. El rectángulo se define para tener un color constante (especificado por la estructura TRIVERTEX ) para los bordes izquierdo y derecho. GDI interpola el color del borde izquierdo al derecho y rellena el interior.
GRADIENT_FILL_RECT_V
En este modo, dos puntos de conexión describen un rectángulo. El rectángulo se define para tener un color constante (especificado por la estructura TRIVERTEX ) para los bordes superior e inferior. GDI interpola el color del borde superior al inferior y rellena el interior.
GRADIENT_FILL_TRIANGLE
En este modo, una matriz de estructuras TRIVERTEX se pasa a GDI junto con una lista de índices de matriz que describen triángulos independientes. GDI realiza la interpolación lineal entre vértices de triángulo y rellena el interior. El dibujo se realiza directamente en modos de 24 y 32 bpp. La dithering se realiza en modo 16, 8, 4 y 1 bpp.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE.

Si se produce un error en la función, el valor devuelto es FALSE.

Comentarios

Nota Esta función es la misma que GradientFill.
 
Para agregar sombreado suave a un triángulo, llame a la función GdiGradientFill con los tres puntos de conexión de triángulo. GDI interpolará linealmente y rellenará el triángulo. Esta es la salida de dibujo de un triángulo sombreado. Ilustración de un triángulo que se rellena de naranja en el punto superior a magenta en la línea inferior Para agregar sombreado suave a un rectángulo, llame a GdiGradientFill con las coordenadas superior izquierda e inferior derecha del rectángulo. Hay dos modos de sombreado que se usan al dibujar un rectángulo. En modo horizontal, el rectángulo se sombrea de izquierda a derecha. En el modo vertical, el rectángulo se sombrea de arriba a abajo. Esta es la salida de dibujo de dos rectángulos sombreados: uno en modo horizontal, el otro en modo vertical. Ilustración de un rectángulo que sombrea de oscuro en el lado izquierdo a la luz en el lado derecho Ilustraciónde un rectángulo que sombrea de oscuro en la parte superior a la luz en la parte inferior La función GdiGradientFill usa un método de malla para especificar los extremos del objeto que se van a dibujar. Todos los vértices se pasan a GdiGradientFill en la matriz pVertex . El parámetro pMesh especifica cómo se conectan estos vértices para formar un objeto. Al rellenar un rectángulo, pMesh apunta a una matriz de estructuras de GRADIENT_RECT . Cada estructura GRADIENT_RECT especifica el índice de dos vértices en la matriz pVertex . Estos dos vértices forman el límite superior izquierdo e inferior derecho de un rectángulo.

En el caso de rellenar un triángulo, pMesh apunta a una matriz de estructuras de GRADIENT_TRIANGLE . Cada estructura de GRADIENT_TRIANGLE especifica el índice de tres vértices en la matriz pVertex . Estos tres vértices forman un triángulo.

Para simplificar la aceleración de hardware, esta rutina no es necesaria para ser pixel-perfect en el interior del triángulo.

Tenga en cuenta que GdiGradientFill no usa el miembro Alpha de la estructura TRIVERTEX . Para usar GdiGradientFill con transparencia, llame a GdiGradientFill y, a continuación, llame a GdiAlphaBlend con los valores deseados para el canal alfa de cada vértice.

Para obtener más información, vea Sombreado suave, Dibujo de un triángulo sombreado y Dibujo de un rectángulo sombreado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h (incluye Windows.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

Funciones de mapa de bits

Información general sobre mapas de bits

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX