CImage::TransparentBlt
Copia una bitmap dal contesto di dispositivo di origine al contesto di 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( );
Parametri
hDestDC
Handle del contesto di dispositivo di destinazione.xDest
Coordinata x, in unità logiche, dell'angolo superiore sinistro del rettangolo di destinazione.yDest
La coordinata y, in unità logiche, dell'angolo superiore sinistro del rettangolo di destinazione.nDestWidth
La larghezza, in unità logiche, il rettangolo di destinazione.nDestHeight
L'altezza, in unità logiche, il rettangolo di destinazione.crTransparent
Il colore della bitmap della risorsa da considerare come trasparente. Per impostazione predefinita, CLR_INVALID, per indicare che il colore attualmente impostato come colore trasparenza dell'immagine deve essere utilizzato.rectDest
Un riferimento a una struttura RECT, identificando la destinazione.xSrc
Coordinata x, in unità logiche, dell'angolo superiore sinistro del rettangolo di origine.ySrc
La coordinata y, in unità logiche, dell'angolo superiore sinistro del rettangolo di origine.nSrcWidth
La larghezza, in unità logiche, il rettangolo di origine.nSrcHeight
L'altezza, in unità logiche, il rettangolo di origine.rectSrc
Un riferimento a una struttura RECT, identificando il database di origine.
Valore restituito
TRUE se l'operazione viene completata correttamente, altrimenti FALSE.
Note
TransparentBlt supportato per le bitmap di risorsa a 4 bit per pixel e 8 bit per pixel. Utilizzare CImage::AlphaBlend per specificare 32 bitmap di bit per pixel con la trasparenza.
Questo metodo è applicabile a Microsoft Windows 2000, Windows a 98 e ai sistemi successivi. Vedere TransparentBlt in Windows SDK e Limitazioni di CImage con i sistemi operativi precedenti per informazioni più dettagliate.
Esempio
// 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;
}
Requisiti
Header: atlimage.h