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 |
---|---|
|
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. |
|
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. |
|
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.
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: 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 |