Freigeben über


CImage::TransparentBlt

Kopiert eine Bitmap vom Quellgerätekontext zu diesem aktuellen Gerätekontext.

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

Parameter

  • hDestDC
    Ein Handle für Zielgerätekontext.

  • xDest
    Die x-Koordinate, in logischen Einheiten, der linken oberen Ecke des Zielrechtecks.

  • yDest
    Die y-Koordinate, in logischen Einheiten, der linken oberen Ecke des Zielrechtecks.

  • nDestWidth
    Die Breite, in logischen Einheiten, des Zielrechtecks.

  • nDestHeight
    Die Höhe, in logischen Einheiten, des Zielrechtecks.

  • crTransparent
    Die Farbe in der Quellbitmap, zu behandeln, als transparent. Standardmäßig CLR_INVALID darauf liegt, dass die Farbe gerade festgelegt an, wie die transparente Farbe des Bilds verwendet werden soll.

  • rectDest
    Ein Verweis auf eine RECT-Struktur, das Ziel der.

  • xSrc
    Die x-Koordinate, in logischen Einheiten, der linken oberen Ecke des Quellrechtecks.

  • ySrc
    Die y-Koordinate, in logischen Einheiten, der linken oberen Ecke des Quellrechtecks.

  • nSrcWidth
    Die Breite, in logischen Einheiten, des Quellrechtecks.

  • nSrcHeight
    Die Höhe, in logischen Einheiten, des Quellrechtecks.

  • rectSrc
    Ein Verweis auf eine RECT-Struktur, die Quelle der.

Rückgabewert

TRUE, wenn erfolgreich; andernfalls, FALSE.

Hinweise

TransparentBlt wird für Quellbitmaps von 4 Bits pro Pixel und 8 Bits pro Pixel unterstützt. Verwenden Sie CImage::AlphaBlend, um 32 Bit pro Pixel Bitmaps mit Transparenz anzugeben.

Diese Methode ist in Microsoft Windows 2000, Windows 98 zu und zu neueren Systemen anwendbar. Siehe TransparentBlt in Windows SDK und CImage-Einschränkungen mit älteren Betriebssystemen für ausführlichere Informationen.

Beispiel

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

Anforderungen

Header: atlimage.h

Siehe auch

Referenz

CImage Class

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt