CDC memDC;
BITMAP bitInfo;
memDC.CreateCompatibleDC(&dc);
CBitmap bmp;
CBitmap *pOldBmp = NULL;
bmp.LoadBitmapA(IDB_ME);
bmp.GetBitmap(&bitInfo);
pOldBmp = memDC.SelectObject(&bmp);

::TransparentBlt(dc.m_hDC, 0, 0, bitInfo.bmWidth, bitInfo.bmHeight, memDC.m_hDC, 0,0,bitInfo.bmWidth, bitInfo.bmHeight, RGB(0,0,0));

아규먼트 이해는 쉬울꺼다~ 마지막 RGb(0,0,0)이 중요~ 여기서는 0,0,0이니깐 검정색을 무시하고 출력하게 된다.

이미지에서 투명하게 할 부분을 미리 검정색으로 셋팅 해두고 하면 알 수 있다.

 

만약 이 함수를 했을 때 error LNK2001 : unresolved external symbol 뜨면

 

프로젝트->세팅에서

링크에서 Msimg32.lib를 추가해줘야 한다. MS Visual6은 추가해야되고

그 이후 버전은 아마 그냥 될것임


출처 : http://blog.naver.com/PostView.nhn?blogId=mycpp&logNo=120104796241&redirect=Dlog&widgetTypeCall=true


Posted by pkss
,