Compartir a través de


Función EngTransparentBlt (winddi.h)

La función EngTransparentBlt proporciona funcionalidades de transferencia de bloques de bits con transparencia.

Sintaxis

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

Puntero a la estructura SURFOBJ que identifica la superficie de destino en la que se va a dibujar.

[in] psoSrc

Puntero a la estructura SURFOBJ que identifica la superficie de origen de la transferencia de bloques de bits.

[in, optional] pco

Puntero a una estructura CLIPOBJ . Las rutinas de servicio CLIPOBJ_Xxx se proporcionan para enumerar la región del clip como un conjunto de rectángulos. Esta enumeración limita el área del destino que se modifica. Siempre que sea posible, GDI simplifica el recorte implicado.

[in, optional] pxlo

Puntero a una estructura XLATEOBJ que indica cómo se deben traducir los índices de color de origen para escribir en la superficie de destino.

[in] prclDst

Puntero a una estructura RECTL que define el área rectangular que se va a modificar. Este rectángulo se especifica en el sistema de coordenadas de la superficie de destino y se define mediante dos puntos: superior izquierda e inferior derecha. El rectángulo es exclusivo de la parte inferior derecha; es decir, sus bordes inferiores y derecho no forman parte de la transferencia de bloques de bits. Los dos puntos que definen el rectángulo siempre están bien ordenados.

El controlador nunca debe llamar a EngTransparentBlt con un rectángulo de destino vacío.

[in] prclSrc

Puntero a una estructura RECTL que define el área rectangular que se va a copiar. Este rectángulo se especifica en el sistema de coordenadas de la superficie de origen y se define mediante dos puntos: superior izquierda e inferior derecha. Los dos puntos que definen el rectángulo siempre están bien ordenados.

El rectángulo de origen nunca superará los límites de la superficie de origen, por lo que nunca superará la superficie de origen.

Este rectángulo se asigna al rectángulo de destino definido por prclDst. El controlador nunca debe llamar a EngTransparentBlt con un rectángulo de origen vacío.

[in] TransColor

Especifica el color físico transparente, en el formato de la superficie de origen. Se trata de un valor de índice de color que se ha traducido a la paleta de la superficie de origen. Para más información, vea la sección Comentarios.

[in] bCalledFromBitBlt

Reservado. Este parámetro debe establecerse en cero.

Valor devuelto

EngTransparentBlt devuelve TRUE cuando se realiza correctamente. De lo contrario, devuelve FALSE.

Comentarios

El controlador debe llamar a EngTransparentBlt si ha enganchado DrvTransparentBlt y se le llama para hacer algo que no admita.

La transferencia de bloques de bits con transparencia se admite entre dos superficies administradas por dispositivos o entre una superficie administrada por el dispositivo y un mapa de bits de formato estándar administrado por GDI. Actualmente, GDI solo admite superficies de origen BMF_4BPP y BMF_8BPP.

Los píxeles de la superficie de origen que coinciden con el color transparente especificado por iTransparentColor no se copian. Para obtener una explicación detallada de los blts transparentes, consulte Copia de mapas de bits.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Universal
Encabezado winddi.h (incluya Winddi.h)
Library Win32k.lib
Archivo DLL Win32k.sys

Consulte también

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP