비트맵 출력 함수(BitBlt / TransparentBlt / GdiTransparentBlt)


(그림 출력 순서)



* BitBlt()
- 비트맵을 출력하기 위한 가장 기본 함수
- 함수 원형: BOOL _stdcall BitBlt(HDC hdc, int x, inty, int cx, int cy, HDC hdcSrc, int x1, int y1, DWORD rop)
- x, y: 출력할 좌표값
- cx, cy: 출력할 비트맵 세로값
- hdcSrc: 출력할 비트맵이 있는 DC
- xi, x2: 비트맵을 잘라내기 시작할 비트맵 내부 좌표
- DWORD rop: 소스영역을 대상영역에 복사(SRCCOPY 사용)




* TransparentBlt() 과 GdiTransparentBlt()
- 비트맵을 불러올 시 한개의 RGB색상을 지정해 이미지에서 삭제하는 함수
- 사용이유 : WinAPI 에서 PNG나 Jpg 파일을 사용하기 힘들다.
    때문에 BMP(이미지 데이터)파일을 사용하고, 마젠타 색상(RGB(255,0,255)) 배경을 지우기 위해 사용
- 함수 원형

- xoriginDest, yoriginDest : 출력할 x, y 좌표값
- wDest, hDest : 출력할 비트맵 가로, 세로 길이
- hdcSrc : 출력할 미트맵이 있는 DC
- xoriginSrc, yoriginSrc : 출력할 비트맵의 시작 x, y 좌표값
- wSrc, hSrc : 출력할 미트맵의 전체 가로, 세로 길이
- crTransparent : 비트맵에서 제거할 RGB 값


* TransparentBlt() 과 GdiTransparentBlt() 차이
- 두 함수의 원형과 기능은 동일
- TransparentBlt 함수는 #pragma comment(lib, "msimg32.lib") 추가 필요(외부 함수)
- GdiTransparentBlt 함수는 Windows.h 헤더에 포함 되어 있다.






댓글