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