Share via


ID2D1DeviceContext::CreateBitmapFromDxgiSurface(IDXGISurface*,constD2D1_BITMAP_PROPERTIES1&,ID2D1Bitmap1**) 메서드(d2d1_1.h)

대상 표면으로 설정하거나 추가 색 컨텍스트 정보를 지정할 수 있는 DXGI 표면에서 비트맵을 만듭니다.

구문

HRESULT CreateBitmapFromDxgiSurface(
  [in]           IDXGISurface                    *surface,
  [in, optional] const D2D1_BITMAP_PROPERTIES1 & bitmapProperties,
  [out]          ID2D1Bitmap1                    **bitmap
);

매개 변수

[in] surface

형식: IDXGISurface*

비트맵을 만들 수 있는 DXGI 표면입니다.

참고 DXGI 표면은 Direct2D 디바이스 컨텍스트와 연결된 동일한 Direct3D 디바이스에서 만들어졌어야 합니다.
 

[in, optional] bitmapProperties

형식: const D2D1_BITMAP_PROPERTIES1*

표면 외에 지정된 비트맵 속성입니다.

[out] bitmap

형식: ID2D1Bitmap1**

이 메서드가 반환되면 새 비트맵 개체에 대한 포인터의 주소가 포함됩니다.

반환 값

형식: HRESULT

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

HRESULT 설명
S_OK 오류가 발생하지 않았습니다.
E_OUTOFMEMORY Direct2D에서 호출을 완료하는 데 충분한 메모리를 할당할 수 없습니다.
E_INVALIDARG 잘못된 값이 메서드에 전달되었습니다.
D3DERR_OUTOFVIDEOMEMORY Direct3D에 작업을 수행하기에 충분한 디스플레이 메모리가 없습니다.

설명

비트맵 속성을 지정하지 않으면 다음 정보가 가정됩니다.

  • 비트맵 DPI는 96입니다.
  • 픽셀 형식은 표면의 형식과 일치합니다.
  • 반환된 비트맵은 DXGI 표면의 바인딩 플래그를 상속합니다.
    • 그러나 Direct2D에 의미 있는 플래그의 하위 집합만 상속됩니다. 예를 들어 D3D10_USAGE_DYNAMIC 공용 Direct2D 플래그와 호환되지 않습니다.
  • 색 컨텍스트를 알 수 없습니다.
  • 비트맵의 알파 모드는 미리 곱하기(일반적인 경우) 또는 직선(A8)입니다.
비트맵 속성을 지정하면 비트맵 속성이 다음과 같이 사용됩니다.
  • 비트맵 DPI는 비트맵 속성에 의해 지정됩니다.
  • dpiX와 dpiY가 모두 0이면 비트맵 DPI는 96이 됩니다.
  • 픽셀 형식은 표면의 셰이더 리소스 뷰 또는 렌더링 대상 뷰와 호환되어야 합니다.
  • 비트맵 옵션은 DXGI 표면의 바인딩 플래그와 호환되어야 합니다. 그러나 하위 집합일 수 있습니다. 이는 비트맵에서 만드는 리소스 뷰에 영향을 미칩니다.
  • 색 컨텍스트 정보는 지정된 경우 비트맵 속성에서 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1_1.h
DLL D2d1.dll

추가 정보

D2D1_BITMAP_PROPERTIES1

ID2D1Bitmap1

ID2D1DeviceContext

ID2D1DeviceContext::SetTarget