Compartilhar via


Função GdiGradientFill (wingdi.h)

A função GdiGradientFill preenche estruturas de retângulo e triângulo.

Sintaxe

BOOL GdiGradientFill(
  [in] HDC        hdc,
  [in] PTRIVERTEX pVertex,
  [in] ULONG      nVertex,
  [in] PVOID      pMesh,
  [in] ULONG      nCount,
  [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 triângulo.

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

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
GRADIENT_FILL_RECT_H
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.
GRADIENT_FILL_RECT_V
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.
GRADIENT_FILL_TRIANGLE
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

Nota Essa função é a mesma que GradientFill.
 
Para adicionar sombreamento suave a um triângulo, chame a função GdiGradientFill 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. Ilustração de um triângulo que preenche de laranja no ponto superior para magenta na linha inferior Para adicionar sombreamento suave a um retângulo, chame GdiGradientFill 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. Ilustração de um retângulo que sombreia de escuro no lado esquerdo para claro no lado direitoIlustração de um retângulo que sombreia de escuro na parte superior para luz na parte inferior A função GdiGradientFill 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 GdiGradientFill 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 GdiGradientFill não usa o membro Alpha da estrutura TRIVERTEX . Para usar GdiGradientFill com transparência, chame GdiGradientFill e chame GdiAlphaBlend 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 Gdi32.lib
DLL Gdi32.dll

Confira também

Funções bitmap

Visão geral do Bitmaps

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX