CDC::StretchBlt
소스 사각형에서 대상 사각형으로 비트맵을 복사하고 필요 시 비트맵을 늘이거나 줄여 대상 사각형의 크기에 맞춥니다.
BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
);
매개 변수
x
대상 사각형 왼쪽 위 모퉁이의 X 좌표(논리 단위)를 지정합니다.y
대상 사각형 왼쪽 위 모퉁이의 Y 좌표(논리 단위)를 지정합니다.nWidth
대상 사각형의 너비(논리 단위)를 지정합니다.nHeight
대상 사각형의 높이(논리 단위)를 지정합니다.pSrcDC
소스 장치 컨텍스트를 지정합니다.xSrc
소스 사각형 왼쪽 위 모퉁이의 X 좌표(논리 단위)를 지정합니다.ySrc
소스 사각형 왼쪽 위 모퉁이의 Y 좌표(논리 단위)를 지정합니다.nSrcWidth
소스 사각형의 너비(논리 단위)를 지정합니다.nSrcHeight
소스 사각형의 높이(논리 단위)를 지정합니다.dwRop
수행할 래스터 연산을 지정합니다. 래스터 연산 코드는 GDI가 현재 브러시, 가능한 소스 비트맵 및 대상 비트맵을 호출하는 출력 연산에서 색을 결합하는 방법을 정의합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.BLACKNESS 모든 출력을 검정색으로 바꿉니다.
DSTINVERT 대상 비트맵을 반전합니다.
MERGECOPY 부울 AND 연산자를 사용하여 패턴 및 소스 비트맵을 결합합니다.
MERGEPAINT 부울 OR 연산자를 사용하여 반전된 소스 비트맵을 대상 비트맵과 결합합니다.
NOTSRCCOPY 반전된 소스 비트맵을 대상에 복사합니다.
NOTSRCERASE 부울 OR 연산자를 사용하여 대상 및 소스 비트맵 결합 결과를 반전합니다.
PATCOPY 패턴을 대상 비트맵에 복사합니다.
PATINVERT 부울 XOR 연산자를 사용하여 대상 비트맵을 패턴과 결합합니다.
PATPAINT 부울 OR 연산자를 사용하여 반전된 소스 비트맵을 패턴과 결합합니다. 부울 OR 연산자를 사용하여 이 연산의 결과를 대상 비트맵과 결합합니다.
SRCAND 부울 AND 연산자를 사용하여 대상 및 소스 비트맵의 픽셀을 결합합니다.
SRCCOPY 소스 비트맵을 대상 비트맵에 복사합니다.
SRCERASE 대상 비트맵을 반전하고 부울 AND 연산자를 사용하여 결과를 소스 비트맵과 결합합니다.
SRCINVERT 부울 XOR 연산자를 사용하여 대상 및 소스 비트맵의 픽셀을 결합합니다.
SRCPAINT 부울 OR 연산자를 사용하여 대상 및 소스 비트맵의 픽셀을 결합합니다.
WHITENESS 모든 출력을 흰색으로 바꿉니다.
반환 값
비트맵을 그리면 0이 아니고 그렇지 않으면 0입니다.
설명
이 함수는 대상 장치 컨텍스트(SetStretchBltMode로 설정)의 늘이기 모드를 사용하여 비트맵을 늘이거나 줄이는 방법을 결정합니다.
StretchBlt 함수는 비트맵을 pSrcDC로 지정된 소스 장치에서 멤버 함수를 호출하는 장치 컨텍스트 개체로 표현되는 대상 장치로 이동합니다. xSrc, ySrc, nSrcWidth 및 nSrcHeight 매개 변수는 왼쪽 위 모퉁이와 소스 사각형의 크기를 정의합니다. x, y, nWidth 및 nHeight 매개 변수는 왼쪽 위 모퉁이와 대상 사각형의 크기를 정합니다. dwRop로 지정된 래스터 연산은 소스 비트맵과 이미 대상 장치에 있는 비트가 결합되는 방법을 정의합니다.
StretchBlt 함수는 nSrcWidth 및 nWidth 또는 nSrcHeight 및 nHeight 매개 변수의 부호가 다른 경우 비트맵의 미러 이미지를 만듭니다. nSrcWidth 및 nWidth의 부호가 다른 경우 함수는 X축 방향으로 비트맵의 미러 이미지를 만듭니다. nSrcHeight 및 nHeight의 부호가 다른 경우 함수는 Y축 방향으로 비트맵의 미러 이미지를 만듭니다.
StretchBlt 함수는 메모리에서 소스 비트맵을 늘이거나 줄인 다음 결과를 대상으로 복사합니다. 패턴을 결과와 병합해야 하는 경우 늘어난 소스 비트맵이 대상에 복사될 때까지 병합되지 않습니다. 브러시를 사용하는 경우 대상 장치 컨텍스트의 선택된 브러시입니다. 대상 좌표는 대상 장치 컨텍스트에 따라 변환됩니다. 소스 좌표는 소스 장치 컨텍스트에 따라 변환됩니다.
대상, 소스 및 패턴 비트맵의 색 형식이 다르면 StretchBlt는 소스와 패턴 비트맵을 대상 비트맵에 맞게 변환합니다. 대상 장치 컨텍스트의 전경 및 배경 색이 변환에 사용됩니다.
StretchBlt가 단색 비트맵을 컬러로 변환해야 하는 경우 흰색 비트(1)를 배경색으로, 검정색 비트(0)를 전경색으로 설정합니다. 컬러를 단색으로 변환하기 위해 배경색과 일치하는 픽셀을 흰색(1)으로 설정하고 다른 모든 픽셀을 검정색(0)으로 설정합니다. 색이 있는 장치 컨텍스트의 전경 및 배경색이 사용됩니다.
모든 장치가 StretchBlt 기능을 지원하지는 않습니다. 장치가 StretchBlt를 지원하는지 여부를 확인하려면 RASTERCAPS 인덱스로 GetDeviceCaps 멤버 함수를 호출하고 RC_STRETCHBLT 플래그에 대한 반환 값을 확인합니다.
요구 사항
헤더: afxwin.h