다음을 통해 공유


IDirectDrawSurface7::Blt 메서드(ddraw.h)

비트 블록 전송(비트blt)을 수행합니다. 이 메서드는 비트blt 작업 중에 z 버퍼링 또는 알파 혼합을 지원하지 않습니다.

구문

HRESULT Blt(
  [in] LPRECT               unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2,
  [in] LPRECT               unnamedParam3,
  [in] DWORD                unnamedParam4,
  [in] LPDDBLTFX            unnamedParam5
);

매개 변수

[in] unnamedParam1

대상 화면에서 비트블렛할 사각형의 왼쪽 위 및 오른쪽 아래 점을 정의하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 전체 대상 표면이 사용됩니다.

[in] unnamedParam2

비트블릿의 소스인 DirectDrawSurface 개체의 IDirectDrawSurface7 인터페이스에 대한 포인터입니다.

[in] unnamedParam3

원본 표면에서 비트블렛할 사각형의 왼쪽 위 및 오른쪽 아래 점을 정의하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 전체 원본 표면이 사용됩니다.

[in] unnamedParam4

연결된 DDBLTFX 구조체의 유효한 멤버를 확인하거나, 색 키 정보를 지정하거나, 메서드에서 특수 동작을 요청하는 플래그의 조합입니다. 다음 플래그가 정의됩니다.

유효성 검사 플래그

DDBLT_COLORFILL

DDBLTFX 구조체의 dwFillColor 멤버를 대상 표면의 대상 사각형을 채우는 RGB 색으로 사용합니다.

DDBLT_DDFX

DDBLTFX 구조체의 dwDDFX 멤버를 사용하여 이 비트blt에 사용할 효과를 지정합니다.

DDBLT_DDROPS

DDBLTFX 구조체의 dwDDROP 멤버를 사용하여 Win32 API의 일부가 아닌 래스터 작업(ROPS)을 지정합니다.

DDBLT_DEPTHFILL

DDBLTFX 구조체의 dwFillDepth 멤버를 대상 z-버퍼 표면의 대상 사각형을 채울 깊이 값으로 사용합니다.

DDBLT_KEYDESTOVERRIDE

DDBLTFX 구조체의 ddckDestColorkey 멤버를 대상 화면의 색 키로 사용합니다.

DDBLT_KEYSRCOVERRIDE

DDBLTFX 구조체의 ddckSrcColorkey 멤버를 원본 표면의 색 키로 사용합니다.

DDBLT_ROP

이 비트블렛의 ROP에 DDBLTFX 구조체의 dwROP 멤버를 사용합니다. 이러한 ROP는 Win32 API에 정의된 것과 동일합니다.

DDBLT_ROTATIONANGLE

DDBLTFX 구조체의 dwRotationAngle 멤버를 표면의 회전 각도(1/100도로 지정됨)로 사용합니다.

색 키 플래그

DDBLT_KEYDEST

대상 화면과 연결된 색 키를 사용합니다.

DDBLT_KEYSRC

원본 표면과 연결된 색 키를 사용합니다.

동작 플래그

DDBLT_ASYNC

받은 순서대로 FIFO(첫 번째 in, first out) 하드웨어를 통해 이 비트블렛을 비동기적으로 수행합니다. FIFO 하드웨어에서 사용할 수 있는 공간이 없으면 호출이 실패합니다.

DDBLT_DONOTWAIT

비트 블렛을 반환하지 않고 를 반환하고 비트 블리터가 사용 중인 경우 DDERR_WASSTILLDRAWING 반환합니다.

DDBLT_WAIT

bitbltter가 사용 중인 경우 DDERR_WASSTILLDRAWING 반환 값을 연기하고 비트블렛을 설정할 수 있거나 다른 오류가 발생하는 즉시 를 반환합니다.

사용되지 않는 플래그 및 지원되지 않는 플래그

모든 DDBLT_ALPHA 플래그 값

현재 구현되지 않습니다.

모든 DDBLT_ZBUFFER 플래그 값

이 메서드는 현재 z 인식 비트blt 작업을 지원하지 않습니다. "DDBLT_ZBUFFER"로 시작하는 플래그는 지원되지 않습니다.

[in] unnamedParam5

비트블렛의 DDBLTFX 구조체에 대한 포인터입니다.

반환 값

메서드가 성공하면 반환 값이 DD_OK.

실패하면 메서드는 다음 오류 값 중 하나를 반환할 수 있습니다.

  • DDERR_GENERIC
  • DDERR_INVALIDCLIPLIST
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDRECT
  • DDERR_NOALPHAHW
  • DDERR_NOBLTHW
  • DDERR_NOCLIPLIST
  • DDERR_NODDROPSHW
  • DDERR_NOMIRRORHW
  • DDERR_NORASTEROPHW
  • DDERR_NOROTATIONHW
  • DDERR_NOSTRETCHHW
  • DDERR_NOZBUFFERHW
  • DDERR_SURFACEBUSY
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_WASSTILLDRAWING

설명

Blt는 동기 또는 비동기 비트blt를 수행할 수 있습니다(후자는 기본 동작임). 이러한 비트블렛은 디스플레이 메모리에서 디스플레이 메모리, 시스템 메모리, 시스템 메모리, 디스플레이 메모리 또는 시스템 메모리에서 시스템 메모리까지 표시 메모리에서 발생할 수 있습니다. 비트블렛은 원본 색 키와 대상 색 키를 사용하여 수행할 수 있습니다. 원본 사각형과 대상 사각형의 크기가 같지 않으면 임의의 늘이기 또는 축소가 수행됩니다.

일반적으로 Blt은 bitbltter가 사용 중이고 비트블렛을 설정할 수 없는 경우 오류와 함께 즉시 반환됩니다. 동기 비트blt를 요청하려면 DDBLT_WAIT 플래그를 지정합니다. DDBLT_WAIT 플래그를 포함하면 비트블렛을 설정할 수 있거나 반환되기 전에 다른 오류가 발생할 때까지 Blt 이 대기합니다.

RECT 구조체는 오른쪽 및 아래쪽 멤버가 배타적이도록 정의됩니다. 따라서 오른쪽에서 왼쪽을 뺀 값은 너비보다 1이 아니라 사각형의 너비와 같습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 ddraw.h
라이브러리 Ddraw.lib
DLL Ddraw.dll

추가 정보

IDirectDrawSurface7