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