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 |