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
[출처] MFC - DC에 투명한 이미지 출력 TransparentBlt|작성자 수환이
'MFC' 카테고리의 다른 글
날짜/시간 등록정보 다이얼로그 띄우기 (0) | 2013.07.18 |
---|---|
visual studio 6.0에서 윈도우 dpi 문제 (0) | 2013.07.12 |
프로그램 웹 배포시 개인 인증서 만들기(디지털 서명) (0) | 2013.07.12 |
타이틀바 크기 구하기 (0) | 2013.07.09 |
타이틀바가 없을 때, 해당 윈도우 영역을 드래그할 경우, 윈도우 옮기기 (0) | 2013.07.09 |