Compartilhar via


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

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.

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 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: Ilustração de um retângulo que sombreia de escuro no lado esquerdo para claro no lado direito Ilustração de um retângulo que sombreia de escuro na parte superior à luz na parte inferior 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

Confira também

Funções bitmap

Visão geral do Bitmaps

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX