SeeAlso) ë ˆë°�즈프로ì �트, ë ˆë°�즈프로ì �트/í”„ë¡œí† íƒ€ìž…, MFC, (zeropage)bitblt로투명배경구현하기
LoadBitMap ¶
~cpp
void DrawBitMap(UINT ITEM, int x, int y, UINT rop=SRCCOPY){
//bitmap Load
CBitmap newBitmap, *oldBitmap;
CDC BitMapDC;
BitMapDC.CreateCompatibleDC(this->getMemDC());
newBitmap.LoadBitmap(ITEM);
oldBitmap = (CBitmap*)BitMapDC.SelectObject(&newBitmap);
//비트맵 í�¬ê¸° ì •ë³´ 로드
BITMAP bitmapInfo;
newBitmap.GetBitmap(&bitmapInfo);
//draw
m_pMemDC->BitBlt(x, y, bitmapInfo.bmWidth, bitmapInfo.bmHeight, &BitMapDC, 0, 0, rop);
//회복
BitMapDC.SelectObject(oldBitmap);
}
MASK BITMAP ¶
~cpp
void DrawMaskBitMap(UINT MASKITEM, UINT IMGITEM, int x, int y){
this->DrawBitMap(MASKITEM, x, y, SRCAND);
this->DrawBitMap(IMGITEM, x, y, SRCPAINT);
return;
}
설명 ¶
ìš©ë�„ ¶
ë ˆë°�ì�´ë¯¸ì§€ì™€ ë°°ê²½ì�„ ìž�연스럽게 합성하기 위해서 사용한다.
í”Œë ˆì‹œ, í�¬í† ㅤㅅㅑã…�ì—�서 사용ë�˜ëŠ” 마스í�¬ì�´ë¯¸ì§€ì�˜ ê°œë…�ê³¼ 같다.
ë‘�장ì�˜ ì�´ë¯¸ì§€ 중 한장ì�€ 그림ì�˜ 형태를 ë‚˜íƒ€ë‚´ê³ , 한장ì�€ ì‹¤ì œ ì�´ë¯¸ì§€ì�´ë‹¤. ì‹¤ì œì�´ë¯¸ì§€ì¤‘ 그림ì�˜ 형태ì—� 겹치는 부분만 ì¶œë ¥ë�˜ëŠ” ë°©ì‹�ì�´ë‹¤.
í”Œë ˆì‹œ, í�¬í† ㅤㅅㅑã…�ì—�서 사용ë�˜ëŠ” 마스í�¬ì�´ë¯¸ì§€ì�˜ ê°œë…�ê³¼ 같다.
ë‘�장ì�˜ ì�´ë¯¸ì§€ 중 한장ì�€ 그림ì�˜ 형태를 ë‚˜íƒ€ë‚´ê³ , 한장ì�€ ì‹¤ì œ ì�´ë¯¸ì§€ì�´ë‹¤. ì‹¤ì œì�´ë¯¸ì§€ì¤‘ 그림ì�˜ 형태ì—� 겹치는 부분만 ì¶œë ¥ë�˜ëŠ” ë°©ì‹�ì�´ë‹¤.










