Compartilhar via


Função EngTransparentBlt (winddi.h)

A função EngTransparentBlt fornece funcionalidades de transferência de bloco de bits com transparência.

Sintaxe

ENGAPI BOOL EngTransparentBlt(
  [in]           SURFOBJ  *psoDst,
  [in]           SURFOBJ  *psoSrc,
  [in, optional] CLIPOBJ  *pco,
  [in, optional] XLATEOBJ *pxlo,
  [in]           RECTL    *prclDst,
  [in]           RECTL    *prclSrc,
  [in]           ULONG    TransColor,
  [in]           ULONG    bCalledFromBitBlt
);

Parâmetros

[in] psoDst

Ponteiro para a estrutura SURFOBJ que identifica a superfície de destino na qual desenhar.

[in] psoSrc

Ponteiro para a estrutura SURFOBJ que identifica a superfície de origem da transferência de bloco de bits.

[in, optional] pco

Ponteiro para uma estrutura CLIPOBJ . As rotinas de serviço CLIPOBJ_Xxx são fornecidas para enumerar a região de clipe como um conjunto de retângulos. Essa enumeração limita a área do destino que é modificado. Sempre que possível, a GDI simplifica o recorte envolvido.

[in, optional] pxlo

Ponteiro para uma estrutura XLATEOBJ que informa como os índices de cor de origem devem ser convertidos para gravação na superfície de destino.

[in] prclDst

Ponteiro para uma estrutura RECTL que define a área retangular a ser modificada. Esse retângulo é especificado no sistema de coordenadas da superfície de destino e é definido por dois pontos: superior esquerdo e inferior direito. O retângulo é exclusivo inferior direito; ou seja, suas bordas inferior e direita não fazem parte da transferência de bloco de bits. Os dois pontos que definem o retângulo são sempre bem ordenados.

O driver nunca deve chamar EngTransparentBlt com um retângulo de destino vazio.

[in] prclSrc

Ponteiro para uma estrutura RECTL que define a área retangular a ser copiada. Esse retângulo é especificado no sistema de coordenadas da superfície de origem e é definido por dois pontos: superior esquerdo e inferior direito. Os dois pontos que definem o retângulo são sempre bem ordenados.

O retângulo de origem nunca excederá os limites da superfície de origem e, portanto, nunca sobrepõe a superfície de origem.

Esse retângulo é mapeado para o retângulo de destino definido por prclDst. O driver nunca deve chamar EngTransparentBlt com um retângulo de origem vazio.

[in] TransColor

Especifica a cor transparente física, no formato da superfície de origem. Esse é um valor de índice de cor que foi traduzido para a paleta da superfície de origem. Para obter mais informações, consulte a seção Comentários.

[in] bCalledFromBitBlt

Reservado. Esse parâmetro deve ser definido como zero.

Retornar valor

EngTransparentBlt retorna TRUE após o sucesso. Caso contrário, retornará FALSE.

Comentários

O driver deve chamar EngTransparentBlt se ele tiver fisgado o DrvTransparentBlt e for chamado para fazer algo que ele não dá suporte.

Há suporte para a transferência de bloco de bits com transparência entre duas superfícies gerenciadas pelo dispositivo ou entre uma superfície gerenciada pelo dispositivo e um bitmap de formato padrão gerenciado por GDI. Atualmente, a GDI dá suporte apenas a superfícies de origem BMF_4BPP e BMF_8BPP.

Os pixels na superfície de origem que correspondem à cor transparente especificada por iTransparentColor não são copiados. Para obter uma explicação detalhada de blts transparentes, consulte Copiando bitmaps.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP