Partilhar via


CImage::TransparentBlt

Copia um bitmap do contexto do dispositivo de origem para este contexto atual do dispositivo.

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

Parâmetros

  • hDestDC
    Um identificador para o contexto do dispositivo de destino.

  • xDest
    A coordenada x, em unidades lógicas, o canto superior esquerdo do retângulo alvo.

  • yDest
    A coordenada y, em unidades lógicas, o canto superior esquerdo do retângulo alvo.

  • nDestWidth
    A largura, em unidades lógicas, do retângulo alvo.

  • nDestHeight
    A altura, em unidades lógicas, do retângulo alvo.

  • crTransparent
    A cor no bitmap de origem para tratar como transparente.Por padrão, CLR_INVALID, indicando que a cor atualmente definida como a cor transparente da imagem deve ser usada.

  • rectDest
    Uma referência a uma estrutura de RECT , identificando o destino.

  • xSrc
    A coordenada x, em unidades lógicas, o canto superior esquerdo do retângulo de origem.

  • ySrc
    A coordenada y, em unidades lógicas, o canto superior esquerdo do retângulo de origem.

  • nSrcWidth
    A largura, em unidades lógicas, o retângulo de origem.

  • nSrcHeight
    A altura, em unidades lógicas, o retângulo de origem.

  • rectSrc
    Uma referência a uma estrutura de RECT , identificando a fonte.

Valor de retorno

SeVerdadeiro com êxito, se não Falso.

Comentários

TransparentBlt é suportado para bitmaps de 4 bits por pixel e 8 bits por pixel.Use CImage::AlphaBlend para especificar 32 bitmaps de bit-por- pixel com transparência.

Este método é aplicável à Microsoft Windows 2000, Windows 98, e a sistemas posteriores.Consulte TransparentBlt em Windows SDK e Limitações de CImage com sistemas operacionais anteriores para informações mais detalhadas.

Exemplo

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

Requisitos

Cabeçalho: atlimage.h

Consulte também

Referência

Classe de CImage

CImage::StretchBlt

CImage::MaskBlt

CImage::BitBlt