Поделиться через


CImage::TransparentBlt

Копирует растровое изображение из контекста устройства источника к этому текущий контекст устройства.

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

Параметры

  • hDestDC
    Дескриптор контекста устройства назначения.

  • xDest
    Координата х в логических единицах, левого угла прямоугольника назначения.

  • yDest
    Координата y в логических единицах, левого угла прямоугольника назначения.

  • nDestWidth
    Ширина (в логических единицах, конечного прямоугольника.

  • nDestHeight
    Высота (в логических единицах, конечного прямоугольника.

  • crTransparent
    Цвет в растровом изображении источника, который должен рассматриваться как прозрачный. По умолчанию CLR_INVALID, что указывает на то, что цвет в данный момент установлен как прозрачный цвет изображения должен использоваться.

  • rectDest
    Ссылка на структуру RECT, указывая назначения.

  • xSrc
    Координата х в логических единицах, левого угла прямоугольника источника.

  • ySrc
    Координата y в логических единицах, левого угла прямоугольника источника.

  • nSrcWidth
    Ширина (в логических единицах, прямоугольника источника.

  • nSrcHeight
    Высота (в логических единицах, прямоугольника источника.

  • rectSrc
    Ссылка на структуру RECT, задающим источник.

Возвращаемое значение

Если TRUE успешно, в противном случае FALSE.

Заметки

TransparentBlt поддерживается для растровых изображений источника 4 бит на точка и 8 бит на точку. Используйте CImage::AlphaBlend для определения 32 разряда на пиксель растрового изображения с прозрачностью.

Этот метод применим к Microsoft Windows 2000, Windows 98 и более поздние системах. См. раздел TransparentBlt в Windows SDK и Ограничения CImage с более ранними операционными системами более подробные сведения.

Пример

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

Требования

Header: atlimage.h

См. также

Ссылки

CImage Class

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt