[WinAPI] BMP 파일에서 특정색상을 투명하게 출력하기
BOOL TransparentBlt(
HDC hdcDest, //그려질 영역의 DC 핸들.
int nXOriginDest, //그려질영역의 x 좌표.
int nYOriginDest, //그려질영역의 y 좌표.
int nWidthDest, //그려질 영역의 넓이
int hHeightDest, //그려질 영역의 높이
HDC hdcSrc, //그릴 소스 DC 핸들
int nXOriginSrc, //그릴 소스의 x 좌표.
int nYOriginSrc, //그릴 소스의 y 좌표.
int nWidthSrc, //그릴 소스의 넓이
int nHeightSrc, //그릴 소스의 높이.
UINT crTransparent //비트맵에서 제외할 색상.RGB( ?, ?, ? )
);
HEADER : #include <wingdi.h>
LINK : Msimg32.lib , Msimg32.dll
Return Values
If the function succeeds, the return value is TRUE.
If the function fails, the return value is FALSE
CDC* pDC = CDC::FromHandle( lpDrawItemStruct->hDC );
CDC MemDC;
MemDC.CreateCompatibleDC( pDC );
CRect rcItem( &(lpDrawItemStruct->rcItem) );
CBitmap bmpIcon;
bmpIcon.LoadBitmap( IDB_YAHOO_COMBO_IMAGE );
CBitmap* pOldbmp = (CBitmap*)MemDC.SelectObject( &bmpIcon );
::TransparentBlt( pDC->m_hDC,
rcItem.left, rcItem.top, 16, 16,
MemDC.m_hDC, 0, 0, 16, 16,
RGB( 255, 255, 255 ) );
'공부합시다 > WinAPI, MFC' 카테고리의 다른 글
[MFC] 프로세스 접근 권한 얻기 (0) | 2009.10.06 |
---|---|
[MFC] 리스트 컨트롤 폰트 바꾸기 (0) | 2009.09.30 |