Condividi tramite


Funzione EngTransparentBlt (winddi.h)

La funzione EngTransparentBlt offre funzionalità di trasferimento a blocchi di bit con trasparenza.

Sintassi

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

Parametri

[in] psoDst

Puntatore alla struttura SURFOBJ che identifica la superficie di destinazione su cui disegnare.

[in] psoSrc

Puntatore alla struttura SURFOBJ che identifica la superficie di origine del trasferimento a blocchi di bit.

[in, optional] pco

Puntatore a una struttura CLIPOBJ . Le routine del servizio CLIPOBJ_Xxx vengono fornite per enumerare l'area di ritaglio come set di rettangoli. Questa enumerazione limita l'area della destinazione modificata. Quando possibile, GDI semplifica il ritaglio.

[in, optional] pxlo

Puntatore a una struttura XLATEOBJ che indica come devono essere convertiti gli indici del colore di origine per la scrittura nella superficie di destinazione.

[in] prclDst

Puntatore a una struttura RECTL che definisce l'area rettangolare da modificare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di destinazione ed è definito da due punti: in alto a sinistra e in basso a destra. Il rettangolo è esclusivo in basso a destra; ovvero i bordi inferiori e destro non fanno parte del trasferimento del blocco di bit. I due punti che definiscono il rettangolo sono sempre ordinati correttamente.

Il driver non deve mai chiamare EngTransparentBlt con un rettangolo di destinazione vuoto.

[in] prclSrc

Puntatore a una struttura RECTL che definisce l'area rettangolare da copiare. Questo rettangolo viene specificato nel sistema di coordinate della superficie di origine ed è definito da due punti: superiore sinistro e inferiore destro. I due punti che definiscono il rettangolo sono sempre ordinati correttamente.

Il rettangolo di origine non supererà mai i limiti della superficie di origine e quindi non sovrasporrà mai la superficie di origine.

Questo rettangolo viene mappato al rettangolo di destinazione definito da prclDst. Il driver non deve mai chiamare EngTransparentBlt con un rettangolo di origine vuoto.

[in] TransColor

Specifica il colore trasparente fisico, nel formato della superficie di origine. Si tratta di un valore di indice colore convertito nella tavolozza della superficie di origine. Per altre informazioni, vedere la sezione Osservazioni .

[in] bCalledFromBitBlt

Riservato. Questo parametro deve essere impostato su zero.

Valore restituito

EngTransparentBlt restituisce TRUE in caso di esito positivo. In caso contrario, restituisce FALSE.

Commenti

Il driver deve chiamare EngTransparentBlt se ha collegato DrvTransparentBlt e viene chiamato per eseguire un'operazione che non supporta.

Il trasferimento a blocchi di bit con trasparenza è supportato tra due superfici gestite dal dispositivo o tra una superficie gestita dal dispositivo e una bitmap in formato standard gestito da GDI. Attualmente GDI supporta solo BMF_4BPP e BMF_8BPP superfici di origine.

I pixel sulla superficie di origine che corrispondono al colore trasparente specificato da iTransparentColor non vengono copiati. Per una spiegazione dettagliata dei blts trasparenti, vedere Copia di bitmap.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP