CImage::TransparentBlt
Zkopíruje bitmapy z kontextu zařízení zdroj této aktuální kontext zařízení.
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( );
Parametry
hDestDC
Popisovač kontextu zařízení určení.xDest
Souřadnice x, v logických jednotkách horního levého rohu cílového obdélníku.yDest
Souřadnici y, v logických jednotkách horního levého rohu cílového obdélníku.nDestWidth
Šířka v logické jednotky cílového obdélníku.nDestHeight
Výška v logické jednotky cílového obdélníku.crTransparent
Barva v zdrojová bitmapa zachází jako průhledný.Ve výchozím nastavení CLR_INVALID, označující nutno barvu aktuálně nastaven jako průhledné barvy obrazu.rectDest
Odkaz na RECT struktury identifikaci cíle.xSrc
Souřadnice x, v logických jednotkách horního levého rohu zdrojového obdélníku.ySrc
Souřadnici y, v logických jednotkách horního levého rohu zdrojového obdélníku.nSrcWidth
Šířka v logických jednotek zdrojového obdélníku.nSrcHeight
Výška v logických jednotkách zdrojového obdélníku.rectSrc
Odkaz na RECT struktury identifikaci zdroje.
Vrácená hodnota
TRUE v případě úspěchu jinak FALSE.
Poznámky
TransparentBltje podporován pro zdroj bitmapy 4 bitů na pixel a 8 bitů na pixel.Použití CImage::AlphaBlend určit průhlednost bitmap 32 bitů na pixel.
Tato metoda je použitelná pro systém Microsoft Windows 2000, Windows 98 a novější systémy.Viz TransparentBlt v a CImage omezení se staršími operačními systémy podrobnější informace.
Příklad
// 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;
}
Požadavky
Záhlaví: atlimage.h