Udostępnij za pośrednictwem


CImage::TransparentBlt

Kopiuje bitmapy z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia.

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

Parametry

  • hDestDC
    Uchwyt kontekstu urządzenia docelowego.

  • xDest
    Współrzędna x, w jednostkach logicznych lewego górnego rogu prostokąta przeznaczenia.

  • yDest
    Współrzędna y, w jednostkach logicznych lewego górnego rogu prostokąta przeznaczenia.

  • nDestWidth
    Szerokość w jednostkach logicznych prostokąt docelowy.

  • nDestHeight
    Wysokość w jednostkach logicznych prostokąt docelowy.

  • crTransparent
    Kolor w źródłowa bitmapa traktować jako przezroczysty.Domyślnie CLR_INVALID, wskazujący, że należy używać kolorów aktualnie ustawiona jako kolor przezroczysty obraz.

  • rectDest
    Odwołanie do RECT struktury określenie miejsca przeznaczenia.

  • xSrc
    Współrzędna x, w jednostkach logicznych lewego górnego rogu prostokąta źródłowego.

  • ySrc
    Współrzędna y, w jednostkach logicznych lewego górnego rogu prostokąta źródłowego.

  • nSrcWidth
    Szerokość w jednostkach logicznych prostokąta źródłowego.

  • nSrcHeight
    Wysokość w jednostkach logicznych prostokąta źródłowego.

  • rectSrc
    Odwołanie do RECT struktury identyfikacji źródła.

Wartość zwracana

TRUE w przypadku powodzenia inaczej FALSE.

Uwagi

TransparentBltjest obsługiwana dla bitmap źródła 4 bitów na piksel i 8 bitów na piksel.Użyj CImage::AlphaBlend do określenia 32 bity na piksela bitmapy z przezroczystością.

Metoda ta stosuje się do systemu Microsoft Windows 2000, Windows 98 i nowszych systemach.Zobacz TransparentBlt w Windows SDK i CImage ograniczenia z wcześniejszych systemów operacyjnych więcej szczegółowych informacji.

Przykład

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

Wymagania

Nagłówek: atlimage.h

Zobacz też

Informacje

Klasa CImage

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt