Compartir a través de


Función GradientFill (wingdi.h)

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

Sintaxis

BOOL GradientFill(
  [in] HDC        hdc,
  [in] PTRIVERTEX pVertex,
  [in] ULONG      nVertex,
  [in] PVOID      pMesh,
  [in] ULONG      nMesh,
  [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 un vértice.

[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] nMesh

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, se pasa una matriz de estructuras TRIVERTEX 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 realiza correctamente, el valor devuelto es TRUE.

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

Comentarios

Para agregar sombreado suave a un triángulo, llame a la función GradientFill con los tres puntos de conexión del 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 GradientFill con las coordenadas superior izquierda y 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ón de un rectángulo que sombrea de oscuro en la parte superior a la luz en la parte inferior La función GradientFill usa un método de malla para especificar los extremos del objeto que se va a dibujar. Todos los vértices se pasan a GradientFill 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 GRADIENT_TRIANGLE . Cada estructura 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 GradientFill no usa el miembro Alfa de la estructura TRIVERTEX . Para usar GradientFill con transparencia, llame a GradientFill y, a continuación, llame a AlphaBlend con los valores deseados para el canal alfa de cada vértice.

Para obtener más información, vea Suavizado de sombreado, Dibujo de un triángulosombreado 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 Msimg32.lib
Archivo DLL Msimg32.dll

Consulte también

Funciones de mapa de bits

Información general sobre mapas de bits

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX