Condividi tramite


Funzione PlgBlt (wingdi.h)

La funzione PlgBlt esegue un trasferimento in blocchi di bit dei bit dei dati di colore dal rettangolo specificato nel contesto del dispositivo di origine al parallelogramma specificato nel contesto del dispositivo di destinazione. Se l'handle di maschera di bit specificato identifica una bitmap monocromatica valida, la funzione usa questa bitmap per mascherare i bit dei dati di colore dal rettangolo di origine.

Sintassi

BOOL PlgBlt(
  [in] HDC         hdcDest,
  [in] const POINT *lpPoint,
  [in] HDC         hdcSrc,
  [in] int         xSrc,
  [in] int         ySrc,
  [in] int         width,
  [in] int         height,
  [in] HBITMAP     hbmMask,
  [in] int         xMask,
  [in] int         yMask
);

Parametri

[in] hdcDest

Handle per il contesto del dispositivo di destinazione.

[in] lpPoint

Puntatore a una matrice di tre punti nello spazio logico che identifica tre angoli del parallelogramma di destinazione. L'angolo superiore sinistro del rettangolo di origine viene mappato al primo punto di questa matrice, all'angolo superiore destro al secondo punto di questa matrice e all'angolo inferiore sinistro fino al terzo punto. L'angolo inferiore destro del rettangolo di origine viene mappato al quarto punto implicito nel parallelogramma.

[in] hdcSrc

Handle per il contesto del dispositivo di origine.

[in] xSrc

Coordinata x, in unità logiche, dell'angolo superiore sinistro del rettangolo di origine.

[in] ySrc

Coordinata y, in unità logiche, dell'angolo superiore sinistro del rettangolo di origine.

[in] width

Larghezza, in unità logiche, del rettangolo di origine.

[in] height

Altezza, in unità logiche, del rettangolo di origine.

[in] hbmMask

Handle per una bitmap monocromatica facoltativa usata per mascherare i colori del rettangolo di origine.

[in] xMask

Coordinata x, in unità logiche, dell'angolo superiore sinistro della bitmap monocromatica.

[in] yMask

Coordinata y, in unità logiche, dell'angolo superiore sinistro della bitmap monocromatica.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

La funzione PlgBlt funziona con le bitmap dipendenti dal dispositivo.

Il quarto vertice del parallelogramma (D) viene definito trattando i primi tre punti (A, B e C ) come vettori e calcolo D = B +CA.

Se la maschera di bit esiste, un valore di uno nella maschera indica che il colore del pixel di origine deve essere copiato nella destinazione. Un valore pari a zero nella maschera indica che il colore del pixel di destinazione non deve essere modificato. Se il rettangolo mask è inferiore ai rettangoli di origine e di destinazione, la funzione replica il modello mask.

Le trasformazioni di ridimensionamento, traduzione e reflection sono consentite nel contesto del dispositivo di origine; tuttavia, le trasformazioni di rotazione e shear non sono. Se la bitmap mask non è una bitmap monocromatica, si verifica un errore. La modalità di estensione per il contesto del dispositivo di destinazione viene usata per determinare come estendere o comprimere i pixel, se necessario.

Quando viene registrato un metafile avanzato, si verifica un errore se il contesto del dispositivo di origine identifica un contesto di dispositivo metafile avanzato.

Le coordinate di destinazione vengono trasformate in base al contesto del dispositivo di destinazione; le coordinate di origine vengono trasformate in base al contesto del dispositivo di origine. Se la trasformazione di origine ha una rotazione o un'esere, viene restituito un errore.

Se i rettangoli di destinazione e di origine non hanno lo stesso formato di colore, PlgBlt converte il rettangolo di origine in modo che corrisponda al rettangolo di destinazione.

Non tutti i dispositivi supportano la funzione PlgBlt . Per altre informazioni, vedere la descrizione della funzionalità raster RC_BITBLT nella funzione GetDeviceCaps .

Se i contesti di dispositivo di origine e di destinazione rappresentano dispositivi incompatibili, PlgBlt restituisce un errore.

Se usato in un sistema di monitoraggio multiplo, hdcSrc e hdcDest devono fare riferimento allo stesso dispositivo o la funzione avrà esito negativo. Per trasferire dati tra controller di dominio per dispositivi diversi, convertire la bitmap di memoria in un DIB chiamando GetDIBits. Per visualizzare il DIB al secondo dispositivo, chiamare SetDIBits o StretchDIBits.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

Bitblt

Funzioni bitmap

Panoramica delle bitmap

GetDIBits

GetDeviceCaps

MaskBlt

SetDIBits

SetStretchBltMode

StretchBlt

StretchDIBits