BitBlt 함수(wingdi.h)
BitBlt 함수는 지정된 원본 디바이스 컨텍스트에서 대상 디바이스 컨텍스트로 픽셀 사각형에 해당하는 색 데이터의 비트 블록 전송을 수행합니다.
구문
BOOL BitBlt(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] int cx,
[in] int cy,
[in] HDC hdcSrc,
[in] int x1,
[in] int y1,
[in] DWORD rop
);
매개 변수
[in] hdc
대상 디바이스 컨텍스트에 대한 핸들입니다.
[in] x
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.
[in] y
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.
[in] cx
원본 및 대상 사각형의 너비(논리 단위)입니다.
[in] cy
원본 및 대상 사각형의 높이(논리 단위)입니다.
[in] hdcSrc
원본 디바이스 컨텍스트에 대한 핸들입니다.
[in] x1
원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.
[in] y1
원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.
[in] rop
래스터 작업 코드입니다. 이러한 코드는 원본 사각형의 색 데이터를 대상 사각형의 색 데이터와 결합하여 최종 색을 달성하는 방법을 정의합니다.
다음 목록에서는 몇 가지 일반적인 래스터 작업 코드를 보여 줍니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
BitBlt 은 대상 DC에서만 클리핑을 수행합니다.
원본 디바이스 컨텍스트에서 회전 또는 전단 변환이 적용되는 경우 BitBlt 는 오류를 반환합니다. 원본 디바이스 컨텍스트에 다른 변환이 있고 일치하는 변환이 대상 디바이스 컨텍스트에 적용되지 않는 경우 필요에 따라 대상 디바이스 컨텍스트의 사각형이 확장, 압축 또는 회전됩니다.
원본 및 대상 디바이스 컨텍스트의 색 형식이 일치하지 않는 경우 BitBlt 함수는 원본 색 형식을 대상 형식과 일치하도록 변환합니다.
향상된 메타파일을 기록할 때 원본 디바이스 컨텍스트가 향상된 메타파일 디바이스 컨텍스트를 식별하는 경우 오류가 발생합니다.
모든 디바이스가 BitBlt 함수를 지원하는 것은 아닙니다. 자세한 내용은 GetDeviceCaps 함수의 RC_BITBLT 래스터 기능 항목과 MaskBlt, PlgBlt 및 StretchBlt 함수를 참조하세요.
BitBlt은 원본 및 대상 디바이스 컨텍스트가 다른 디바이스를 나타내는 경우 오류를 반환합니다. 다른 디바이스의 DC 간에 데이터를 전송하려면 GetDIBits를 호출하여 메모리 비트맵을 DIB로 변환합니다. 두 번째 디바이스에 DIB를 표시하려면 SetDIBits 또는 StretchDIBits를 호출합니다.
Icm: 블릿이 발생할 때는 색 관리가 수행되지 않습니다.
예제
다음 코드 예제에서는 BitBlt를 사용하는 방법을 보여 줍니다.
if (!BitBlt(hdcMemDC,
0, 0,
rcClient.right - rcClient.left, rcClient.bottom - rcClient.top,
hdcWindow,
0, 0,
SRCCOPY))
{
MessageBox(hWnd, L"BitBlt has failed", L"Failed", MB_OK);
goto done;
}
컨텍스트에서 이 예제를 보려면 이미지 캡처를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |