C, C++/잡기장 | Notebook

[MFC] StretchBlt 함수

SEO HOB 2019. 9. 17. 14:58

1. 사용 구문

 1-1. 원형

StretchBlt(

int x // 복사된 이미지 출력 위치 (x)

, int y // 복사된 이미지 출력 위치 (y)

, int nWidth // 출력할 이미지의 너비

, int nHeight // 출력할 이미지의 높이

, CDC* pSrcDC // 복사할 이미지

, int xSrc // 복사할 이미지의 시작 위치 (x)

, int ySrc // 복사할 이미지의 시작 위치 (y) 

, int nSrcWidth // 복사할 이미지의 너비

, int nSrcHeight // 복사할 이미지의 높이

, DWORD dwRop // 복사 방식

);


 1-2. dwRop 목록

BLACKNESS : 이미지를 원본의 색이 아닌 검은색으로 채웁니다.

DSTINVERT : 지정된 이미지와는 상관없이 화면의 색상을 반전시킵니다.

MERGECOPY : 이미지의 색상과 현재 선택된 브러시를 AND 연산자를 사용하여 병합합니다.

MERGEPAINT : 반전된 이미지와 화면의 색을 OR 연산자를 사용하여 병합합니다.

NOMIRRORBITMAP : Prevents the bitmap from being mirrored.

NOTSRCCOPY : 이미지의 색상을 반전시킵니다.

NOTSRCERASE : 화면과 이미지를 OR 연산자를 사용하여 합친 다음 색상을 반전시킵니다.

PATCOPY :  현재 선택된 브러시를 출력합니다.

PATINVERT : 현재 선택된 브러시 색과 화면을 XOR 연산자를 사용하여 결합합니다.

PATPAINT : 현재 선택된 브러시 색과 반전된 원본 이미지를 OR 연산자를 사용하여 결합합니다. 그다음 OR 연산자를 사용하여 화면과 결합합니다.

SRCAND : 화면과 이미지를 AND 연산자를 사용하여 결합합니다.

SRCCOPY : 원본 이미지를 출력합니다.

SRCERASE : 반전된 화면과 이미지를 AND 연산자를 사용하여 결합합니다.

SRCINVERT : 화면과 이미지를 XOR 연산자를 사용하여 결합합니다.

SRCPAINT : 화면과 이미지를 OR 연산자를 사용하여 결합합니다.

WHITENESS : 이미지를 원본의 색이 아닌 하얀색으로 채웁니다.


2. 예시