StretchBlt 함수(wingdi.h)

StretchBlt 함수는 원본 사각형의 비트맵을 대상 사각형으로 복사하여 필요한 경우 대상 사각형의 크기에 맞게 비트맵을 늘이거나 압축합니다. 시스템은 현재 대상 디바이스 컨텍스트에 설정된 스트레치 모드에 따라 비트맵을 확장하거나 압축합니다.

구문

BOOL StretchBlt(
  [in] HDC   hdcDest,
  [in] int   xDest,
  [in] int   yDest,
  [in] int   wDest,
  [in] int   hDest,
  [in] HDC   hdcSrc,
  [in] int   xSrc,
  [in] int   ySrc,
  [in] int   wSrc,
  [in] int   hSrc,
  [in] DWORD rop
);

매개 변수

[in] hdcDest

대상 디바이스 컨텍스트에 대한 핸들입니다.

[in] xDest

대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

[in] yDest

대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

[in] wDest

대상 사각형의 너비(논리 단위)입니다.

[in] hDest

대상 사각형의 높이(논리적 단위)입니다.

[in] hdcSrc

원본 디바이스 컨텍스트에 대한 핸들입니다.

[in] xSrc

원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

[in] ySrc

원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

[in] wSrc

원본 사각형의 너비(논리 단위)입니다.

[in] hSrc

원본 사각형의 높이(논리 단위)입니다.

[in] rop

수행할 래스터 작업입니다. 래스터 작업 코드는 시스템이 브러시, 소스 비트맵 및 대상 비트맵을 포함하는 출력 작업의 색을 결합하는 방법을 정의합니다.

일반적인 래스터 작업 코드(ROP) 목록은 BitBlt 를 참조하세요. CAPTUREBLT ROP는 일반적으로 디바이스 컨텍스트를 인쇄하는 데 사용할 수 없습니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

설명

StretchBlt 는 메모리의 원본 비트맵을 확장하거나 압축한 다음 결과를 대상 사각형에 복사합니다. 이 비트맵은 호환되는 비트맵(DDB) 또는 CreateDIBSection의 출력일 수 있습니다. 늘어나거나 압축된 후 패턴 또는 대상 픽셀의 색 데이터가 병합됩니다.

향상된 메타파일을 기록할 때 원본 디바이스 컨텍스트가 향상된 메타파일 디바이스 컨텍스트를 식별하는 경우 오류가 발생하고 함수가 FALSE를 반환합니다.

지정된 래스터 작업에 브러시가 필요한 경우 시스템은 현재 선택된 브러시를 대상 디바이스 컨텍스트에 사용합니다.

대상 좌표는 대상 디바이스 컨텍스트에 대해 현재 지정된 변환을 사용하여 변환됩니다. 원본 좌표는 원본 디바이스 컨텍스트에 대해 현재 지정된 변환을 사용하여 변환됩니다.

원본 변환에 회전 또는 전단이 있는 경우 오류가 발생합니다.

대상, 원본 및 패턴 비트맵의 색 형식이 같지 않으면 StretchBlt 는 원본 및 패턴 비트맵을 대상 비트맵과 일치하도록 변환합니다.

StretchBlt에서 단색 비트맵을 색 비트맵으로 변환해야 하는 경우 흰색 비트(1)를 배경색으로, 검은색 비트(0)를 전경색으로 설정합니다. 색 비트맵을 단색 비트맵으로 변환하려면 배경색과 일치하는 픽셀을 흰색(1)으로 설정하고 다른 모든 픽셀을 검은색(0)으로 설정합니다. 색이 있는 디바이스 컨텍스트의 전경 및 배경색이 사용됩니다.

StretchBltnWidthSrc 및 nWidthDest 매개 변수의 기호가 있거나 nHeightSrcnHeightDest 매개 변수가 다른 경우 비트맵의 미러 이미지를 만듭니다. nWidthSrcnWidthDest에 다른 기호가 있는 경우 함수는 x축을 따라 비트맵의 미러 이미지를 만듭니다. nHeightSrcnHeightDest에 다른 기호가 있는 경우 함수는 y축을 따라 비트맵의 미러 이미지를 만듭니다.

모든 디바이스가 StretchBlt 함수를 지원하는 것은 아닙니다. 자세한 내용은 GetDeviceCaps를 참조하세요.

Icm: 블릿 작업이 발생할 때는 색 관리가 수행되지 않습니다.

여러 모니터 시스템에서 사용하는 경우 hdcSrchdcDest 는 모두 동일한 디바이스를 참조해야 합니다. 그렇지 않으면 함수가 실패합니다. 다른 디바이스의 DC 간에 데이터를 전송하려면 GetDIBits를 호출하여 메모리 비트맵을 DIB로 변환합니다. 두 번째 디바이스에 DIB를 표시하려면 SetDIBits 또는 StretchDIBits를 호출합니다.

예제

예제는 이미지 크기 조정을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

Bitblt

비트맵 함수

비트맵 개요

CreateDIBSection

GetDIBits

GetDeviceCaps

MaskBlt

PlgBlt

SetDIBits

SetStretchBltMode

StretchDIBits