CImage::TransparentBlt
Copia um bitmap no contexto de dispositivo de fonte para este contexto de dispositivo corrente.
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 de dispositivo de destino.xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.nDestWidth
A largura, em unidades lógicas, do retângulo de destino.nDestHeight
A altura, em unidades lógicas, do retângulo de destino.crTransparent
A cor no bitmap de fonte para tratar sistema autônomo transparente.Por padrão, CLR_INVALID, indicando que a cor atualmente definida sistema autônomo cor transparente da imagem deve ser usada.rectDest
Uma referência a um RECT estrutura, identificando o destino.xSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de fonte.ySrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de fonte.nSrcWidth
A largura, em unidades lógicas, do retângulo de fonte.nSrcHeight
A altura, em unidades lógicas, do retângulo de fonte.rectSrc
Uma referência a um RECT estrutura, identificando fonte.
Valor de retorno
TRUE se for bem-sucedido, caso contrário, FALSE.
Comentários
TransparentBlt há suporte para bitmaps de fonte de 4 bits por pixel e 8 bits por pixel. Use CImage::AlphaBlend para especificar bitmaps de 32 bits por pixel com transparência.
Esse método é aplicável ao Microsoft Windows 2000, Windows 98 e sistemas posteriores.See TransparentBlt in the Windows SDK e Limitações de CImage com sistemas operacionais anteriores para obter 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