Partager via


CImage::TransparentBlt

Copie une bitmap du contexte de périphérique source à ce contexte actuel de l'appareil.

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

Paramètres

  • hDestDC
    Un handle au contexte de périphérique de destination.

  • xDest
    Coordonnée x, en unités logiques, de l'angle supérieur gauche du rectangle de destination.

  • yDest
    Coordonnée y, en unités logiques, de l'angle supérieur gauche du rectangle de destination.

  • nDestWidth
    La largeur, en unités logiques, du rectangle de destination.

  • nDestHeight
    La hauteur, en unités logiques, du rectangle de destination.

  • crTransparent
    La couleur dans la bitmap source à traiter comme transparent. Par défaut, CLR_INVALID, indiquant que la couleur actuellement définie comme la couleur transparente de l'image doit être utilisée.

  • rectDest
    Une référence à une structure de RECT , identificateur de destination.

  • xSrc
    Coordonnée x, en unités logiques, de l'angle supérieur gauche du rectangle source.

  • ySrc
    Coordonnée y, en unités logiques, de l'angle supérieur gauche du rectangle source.

  • nSrcWidth
    La largeur, en unités logiques, le rectangle source.

  • nSrcHeight
    La hauteur, en unités logiques, le rectangle source.

  • rectSrc
    Une référence à une structure d' RECT identificateur, la source.

Valeur de retour

TRUE si l'opération a réussi, sinon FALSE.

Notes

TransparentBlt en charge pour les bitmaps sources de 4 bits par pixel et 8 bits par pixel. Utilisez CImage::AlphaBlend pour spécifier 32 bits par pixel de bitmap avec la transparence.

Cette méthode s'applique à Microsoft Windows 2000, à Windows 98, et aux systèmes ultérieurs. Voir TransparentBlt dans Kit de développement logiciel Windows et le Limitations de CImage aux systèmes d'exploitation antérieurs pour plus d'informations détaillées.

Exemple

// 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;
}

Configuration requise

Header: atlimage.h

Voir aussi

Référence

CImage, classe

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt