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 旗標不相容。
  • 色彩內容不明。
  • 位圖的 Alpha 模式會預先乘以 (常見案例) 或直接 (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