Condividi tramite


CDC::MaskBlt

Combina i dati di colore per le bitmap di origine e di destinazione utilizzando la maschera e dell'operazione raster specificate.

BOOL MaskBlt( 
   int x, 
   int y, 
   int nWidth, 
   int nHeight, 
   CDC* pSrcDC, 
   int xSrc, 
   int ySrc, 
   CBitmap& maskBitmap, 
   int xMask, 
   int yMask, 
   DWORD dwRop  
);

Parametri

  • x
    Specifica la coordinata x logica dell'angolo superiore sinistro del rettangolo di destinazione.

  • y
    Specifica la coordinata y logica dell'angolo superiore sinistro del rettangolo di destinazione.

  • nWidth
    Specifica la larghezza, in unità logiche, il rettangolo di destinazione e bitmap di risorsa.

  • nHeight
    Specifica l'altezza, in unità logiche, il rettangolo di destinazione e bitmap di risorsa.

  • pSrcDC
    Identifica il contesto di dispositivo che la bitmap dovrà essere copiato. Deve essere zero se il parametro di dwRop specifica un'operazione raster che non include un database di origine.

  • xSrc
    Specifica la coordinata x logica dell'angolo superiore sinistro della bitmap della risorsa.

  • ySrc
    Specifica la coordinata y logica dell'angolo superiore sinistro della bitmap della risorsa.

  • maskBitmap
    Identifica la bitmap monocromatica maschera combinata con la bitmap di colore nel contesto di dispositivo di origine.

  • xMask
    Specifica l'offset orizzontale del pixel per la bitmap della maschera specificata dal parametro maskBitmap.

  • yMask
    Specifica l'offset verticale del pixel per la bitmap della maschera specificata dal parametro maskBitmap.

  • dwRop
    Specifica sia in primo piano che codici di un'operazione raster ternari in background, tale funzione viene utilizzata per controllare la combinazione di dati di origine e di destinazione. Il codice di un'operazione raster in background viene archiviato in byte elevato di word alto di questo valore, il codice di un'operazione raster in primo piano viene archiviato in byte basso di word alto di questo valore, il word basso di questo valore viene ignorato e deve essere zero. Macro MAKEROP4 crea tali schemi di codici di un'operazione raster di sfondo e di primo piano. Vedere la sezione relativa alle osservazioni per una descrizione di primo piano e di sfondo nel contesto di tale funzione. Vedere la funzione membro BitBlt per un elenco dei codici di un'operazione raster comuni.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0.

Note

Un valore 1 nella maschera specificata da maskBitmap indica che il codice di un'operazione raster in primo piano specificato da dwRop deve essere applicato a quella posizione. Un valore 0 nella maschera indica che il codice di un'operazione raster in background specificato da dwRop deve essere applicato a quella posizione. Se le operazioni raster richiedono un database di origine, il rettangolo della maschera deve riguardare il rettangolo di origine. In caso contrario, la funzione non riuscirà. Se le operazioni raster non richiedono un database di origine, il rettangolo della maschera deve riguardare il rettangolo di destinazione. In caso contrario, la funzione non riuscirà.

Se una rotazione o una trasformazione di inclinazione viene applicata al contesto di dispositivo di origine quando questa funzione viene chiamata, si verifica un errore. Tuttavia, gli altri tipi di trasformazioni sono consentiti.

Se i formati colore del database di origine, il modello e delle bitmap di destinazione diversi, convertiti di questa funzione il formato di origine o del modello, o entrambi, al formato di destinazione. Se la bitmap della maschera non è una bitmap monocromatica, si verifica un errore. Quando un Enhanced Metafile durante la registrazione, si verifica un errore (e la funzione restituisce 0) se il contesto di dispositivo di origine identifica un contesto di dispositivo di Enhanced Metafile. Non tutti i controlli supportano MaskBlt. Un'applicazione deve chiamare GetDeviceCaps per determinare se un dispositivo supporta tale funzione. Se nessuna bitmap della maschera viene fornita, questa funzione funziona esattamente come BitBlt, utilizzando il codice di un'operazione raster in primo piano. Gli offset del pixel nella bitmap di maschera al punto (0,0) nella bitmap di origine del contesto di dispositivo. Ciò è utile per i casi in cui una bitmap della maschera contiene un set di maschere; un'applicazione può applicare facilmente ognuno di questi elementi a un'attività della maschera - blitting modificando gli offset del pixel e le dimensioni del rettangolo inviati a MaskBlt.

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CDC

Grafico delle gerarchie

CDC::BitBlt

CDC::GetDeviceCaps

CDC::PlgBlt

CDC::StretchBlt

MaskBlt