CImage::TransparentBlt
Copie une bitmap du contexte de périphérique source à ce contexte actuel de l'appareil.
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( );
Paramètres
hDestDC
Un handle au contexte de périphérique de destination.xDest
Coordonnée x, en unités logiques, de l'angle supérieur gauche du rectangle de destination.yDest
Coordonnée y, en unités logiques, de l'angle supérieur gauche du rectangle de destination.nDestWidth
La largeur, en unités logiques, du rectangle de destination.nDestHeight
La hauteur, en unités logiques, du rectangle de destination.crTransparent
La couleur dans la bitmap source à traiter comme transparent. Par défaut, CLR_INVALID, indiquant que la couleur actuellement définie comme la couleur transparente de l'image doit être utilisée.rectDest
Une référence à une structure de RECT , identificateur de destination.xSrc
Coordonnée x, en unités logiques, de l'angle supérieur gauche du rectangle source.ySrc
Coordonnée y, en unités logiques, de l'angle supérieur gauche du rectangle source.nSrcWidth
La largeur, en unités logiques, le rectangle source.nSrcHeight
La hauteur, en unités logiques, le rectangle source.rectSrc
Une référence à une structure d' RECT identificateur, la source.
Valeur de retour
TRUE si l'opération a réussi, sinon FALSE.
Notes
TransparentBlt en charge pour les bitmaps sources de 4 bits par pixel et 8 bits par pixel. Utilisez CImage::AlphaBlend pour spécifier 32 bits par pixel de bitmap avec la transparence.
Cette méthode s'applique à Microsoft Windows 2000, à Windows 98, et aux systèmes ultérieurs. Voir TransparentBlt dans Kit de développement logiciel Windows et le Limitations de CImage aux systèmes d'exploitation antérieurs pour plus d'informations détaillées.
Exemple
// 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;
}
Configuration requise
Header: atlimage.h