Condividi tramite


CImage::TransparentBlt

Copia una bitmap dal contesto di dispositivo di origine al contesto di dispositivo corrente.

BOOL TransparentBlt( 
   HDC hDestDC, 
   int xDest, 
   int yDest, 
   int nDestWidth, 
   int nDestHeight, 
   UINT crTransparent = CLR_INVALID  
) const throw( ); 
BOOL TransparentBlt( 
   HDC hDestDC, 
   const RECT& rectDest, 
   UINT crTransparent = CLR_INVALID  
) const throw( ); 
BOOL TransparentBlt( 
   HDC hDestDC, 
   int xDest, 
   int yDest, 
   int nDestWidth, 
   int nDestHeight, 
   int xSrc, 
   int ySrc, 
   int nSrcWidth, 
   int nSrcHeight, 
   UINT crTransparent = CLR_INVALID  
) const throw( ); 
BOOL TransparentBlt( 
   HDC hDestDC, 
   const RECT& rectDest, 
   const RECT& rectSrc, 
   UINT crTransparent = CLR_INVALID  
) const throw( );

Parametri

  • hDestDC
    Handle del contesto di dispositivo di destinazione.

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

  • yDest
    La coordinata y, in unità logiche, dell'angolo superiore sinistro del rettangolo di destinazione.

  • nDestWidth
    La larghezza, in unità logiche, il rettangolo di destinazione.

  • nDestHeight
    L'altezza, in unità logiche, il rettangolo di destinazione.

  • crTransparent
    Il colore della bitmap della risorsa da considerare come trasparente. Per impostazione predefinita, CLR_INVALID, per indicare che il colore attualmente impostato come colore trasparenza dell'immagine deve essere utilizzato.

  • rectDest
    Un riferimento a una struttura RECT, identificando la destinazione.

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

  • ySrc
    La coordinata y, in unità logiche, dell'angolo superiore sinistro del rettangolo di origine.

  • nSrcWidth
    La larghezza, in unità logiche, il rettangolo di origine.

  • nSrcHeight
    L'altezza, in unità logiche, il rettangolo di origine.

  • rectSrc
    Un riferimento a una struttura RECT, identificando il database di origine.

Valore restituito

TRUE se l'operazione viene completata correttamente, altrimenti FALSE.

Note

TransparentBlt supportato per le bitmap di risorsa a 4 bit per pixel e 8 bit per pixel. Utilizzare CImage::AlphaBlend per specificare 32 bitmap di bit per pixel con la trasparenza.

Questo metodo è applicabile a Microsoft Windows 2000, Windows a 98 e ai sistemi successivi. Vedere TransparentBlt in Windows SDK e Limitazioni di CImage con i sistemi operativi precedenti per informazioni più dettagliate.

Esempio

// Performs a transparent blit from the source image to the destination  
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage, int xDest, int yDest,
   int nDestWidth, int nDestHeight)
{
   HDC hDstDC = NULL;
   BOOL bResult;

   if(pSrcImage == NULL || pDstImage == NULL)
   {
      // Invalid parameter 
      return FALSE;
   }

   // Obtain a DC to the destination image
   hDstDC = pDstImage->GetDC();

   // Perform the blit
   bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

   // Release the destination DC
   pDstImage->ReleaseDC();

   return bResult;
}

Requisiti

Header: atlimage.h

Vedere anche

Riferimenti

CImage Class

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt