Função GradientFill (wingdi.h)
A função GradientFill preenche estruturas de retângulo e triângulo.
Sintaxe
BOOL GradientFill(
[in] HDC hdc,
[in] PTRIVERTEX pVertex,
[in] ULONG nVertex,
[in] PVOID pMesh,
[in] ULONG nMesh,
[in] ULONG ulMode
);
Parâmetros
[in] hdc
Um identificador para o contexto do dispositivo de destino.
[in] pVertex
Um ponteiro para uma matriz de estruturas TRIVERTEX que definem cada um um vértice.
[in] nVertex
O número de vértices em pVertex.
[in] pMesh
Uma matriz de estruturas GRADIENT_TRIANGLE no modo triângulo ou uma matriz de estruturas GRADIENT_RECT no modo retângulo.
[in] nMesh
O número de elementos (triângulos ou retângulos) em pMesh.
[in] ulMode
O modo de preenchimento gradiente. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Nesse modo, dois pontos de extremidade descrevem um retângulo. O retângulo é definido para ter uma cor constante (especificada pela estrutura TRIVERTEX ) para as bordas esquerda e direita. A GDI interpola a cor da borda esquerda para a direita e preenche o interior. |
|
Nesse modo, dois pontos de extremidade descrevem um retângulo. O retângulo é definido para ter uma cor constante (especificada pela estrutura TRIVERTEX ) para as bordas superior e inferior. A GDI interpola a cor da borda superior para inferior e preenche o interior. |
|
Nesse modo, uma matriz de estruturas TRIVERTEX é passada para a GDI juntamente com uma lista de índices de matriz que descrevem triângulos separados. O GDI executa a interpolação linear entre vértices de triângulo e preenche o interior. O desenho é feito diretamente nos modos 24 e 32 bpp. O dithering é executado no modo 16, 8, 4 e 1 bpp. |
Retornar valor
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE.
Comentários
Para adicionar sombreamento suave a um triângulo, chame a função GradientFill com os três pontos de extremidade de triângulo. O GDI interpolará e preencherá linearmente o triângulo. Aqui está a saída de desenho de um triângulo sombreado.
Para adicionar sombreamento suave a um retângulo, chame GradientFill com as coordenadas superior esquerda e inferior direita do retângulo. Há dois modos de sombreamento usados ao desenhar um retângulo. No modo horizontal, o retângulo é sombreado da esquerda para a direita. No modo vertical, o retângulo é sombreado de cima para baixo. Aqui está a saída de desenho de dois retângulos sombreados : um no modo horizontal, o outro no modo vertical: A função GradientFill usa um método de malha para especificar os pontos de extremidade do objeto a ser desenhado. Todos os vértices são passados para GradientFill na matriz pVertex . O parâmetro pMesh especifica como esses vértices são conectados para formar um objeto. Ao preencher um retângulo, pMesh aponta para uma matriz de estruturas GRADIENT_RECT . Cada estrutura GRADIENT_RECT especifica o índice de dois vértices na matriz pVertex . Esses dois vértices formam o limite superior esquerdo e inferior direito de um retângulo.No caso de preencher um triângulo, pMesh aponta para uma matriz de estruturas de GRADIENT_TRIANGLE . Cada estrutura GRADIENT_TRIANGLE especifica o índice de três vértices na matriz pVertex . Esses três vértices formam um triângulo.
Para simplificar a aceleração de hardware, essa rotina não é necessária para ser perfeita em pixels no interior do triângulo.
Observe que GradientFill não usa o membro Alpha da estrutura TRIVERTEX . Para usar GradientFill com transparência, chame GradientFill e chame AlphaBlend com os valores desejados para o canal alfa de cada vértice.
Para obter mais informações, consulte Sombreamento suave, Desenho de um triângulo sombreado e Desenho de um retângulo sombreado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wingdi.h (inclua Windows.h) |
Biblioteca | Msimg32.lib |
DLL | Msimg32.dll |