다음을 통해 공유


PlgBlt 함수(wingdi.h)

PlgBlt 함수는 원본 디바이스 컨텍스트의 지정된 사각형에서 대상 디바이스 컨텍스트의 지정된 병렬로 색 데이터 비트를 비트 블록 전송합니다. 지정된 비트 마스크 핸들이 유효한 단색 비트맵을 식별하는 경우 함수는 이 비트맵을 사용하여 원본 사각형에서 색 데이터의 비트를 마스킹합니다.

구문

BOOL PlgBlt(
  [in] HDC         hdcDest,
  [in] const POINT *lpPoint,
  [in] HDC         hdcSrc,
  [in] int         xSrc,
  [in] int         ySrc,
  [in] int         width,
  [in] int         height,
  [in] HBITMAP     hbmMask,
  [in] int         xMask,
  [in] int         yMask
);

매개 변수

[in] hdcDest

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

[in] lpPoint

대상 병렬 프로그래밍의 세 모서리를 식별하는 논리 공간에서 3개의 점 배열에 대한 포인터입니다. 원본 사각형의 왼쪽 위 모서리는 이 배열의 첫 번째 점, 이 배열의 두 번째 지점에 대한 오른쪽 위 모서리, 세 번째 점의 왼쪽 아래 모서리에 매핑됩니다. 원본 사각형의 오른쪽 아래 모서리는 병렬 프로그래밍의 암시적 네 번째 지점에 매핑됩니다.

[in] hdcSrc

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

[in] xSrc

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

[in] ySrc

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

[in] width

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

[in] height

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

[in] hbmMask

원본 사각형의 색을 마스킹하는 데 사용되는 선택적 단색 비트맵에 대한 핸들입니다.

[in] xMask

단색 비트맵의 왼쪽 위 모서리에 있는 논리 단위의 x 좌표입니다.

[in] yMask

단색 비트맵의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

반환 값

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

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

설명

PlgBlt 함수는 디바이스 종속 비트맵에서 작동합니다.

parallelogram(D)의 네 번째 꼭짓점은 처음 세 점(A, B 및 C)을 벡터로 처리하고 D = B +CA를 컴퓨팅하여 정의됩니다.

비트 마스크가 있는 경우 마스크의 값은 원본 픽셀 색을 대상으로 복사해야 했음을 나타냅니다. 마스크의 값이 0이면 대상 픽셀 색이 변경되지 않음을 나타냅니다. 마스크 사각형이 원본 및 대상 사각형보다 작은 경우 함수는 마스크 패턴을 복제합니다.

크기 조정, 변환 및 리플렉션 변환은 원본 디바이스 컨텍스트에서 허용됩니다. 그러나 회전 및 전단 변환은 그렇지 않습니다. 마스크 비트맵이 단색 비트맵이 아닌 경우 오류가 발생합니다. 대상 디바이스 컨텍스트에 대한 스트레치 모드는 필요한 경우 픽셀을 늘이거나 압축하는 방법을 결정하는 데 사용됩니다.

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

대상 좌표는 대상 디바이스 컨텍스트에 따라 변환됩니다. 소스 좌표는 소스 디바이스 컨텍스트에 따라 변환됩니다. 원본 변환에 회전 또는 전단이 있는 경우 오류가 반환됩니다.

대상 및 원본 사각형의 색 형식이 같지 않으면 PlgBlt 은 원본 사각형을 대상 사각형과 일치하도록 변환합니다.

모든 디바이스가 PlgBlt 함수를 지원하는 것은 아닙니다. 자세한 내용은 GetDeviceCaps 함수의 RC_BITBLT 래스터 기능에 대한 설명을 참조하세요.

원본 및 대상 디바이스 컨텍스트가 호환되지 않는 디바이스를 나타내는 경우 PlgBlt 은 오류를 반환합니다.

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

요구 사항

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

추가 정보

Bitblt

비트맵 함수

비트맵 개요

GetDIBits

GetDeviceCaps

MaskBlt

SetDIBits

SetStretchBltMode

Stretchblt

StretchDIBits