D2D1_RENDER_TARGET_PROPERTIES 結構 (d2d1.h)
包含轉譯選項 (硬體或軟體) 、圖元格式、DPI 資訊、遠端選項,以及轉譯目標的 Direct3D 支援需求。
語法
typedef struct D2D1_RENDER_TARGET_PROPERTIES {
D2D1_RENDER_TARGET_TYPE type;
D2D1_PIXEL_FORMAT pixelFormat;
FLOAT dpiX;
FLOAT dpiY;
D2D1_RENDER_TARGET_USAGE usage;
D2D1_FEATURE_LEVEL minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;
成員
type
值,指定轉譯目標是否應該強制硬體或軟體轉譯。 值D2D1_RENDER_TARGET_TYPE_DEFAULT指定轉譯目標在可用時應該使用硬體轉譯;否則,它會使用軟體轉譯。 請注意,WIC 位圖轉譯目標不支援硬體轉譯。
pixelFormat
轉譯目標的圖元格式和 Alpha 模式。 您可以使用 D2D1::P ixelFormat 函式來建立圖元格式,指定 Direct2D 應該為您選取圖元格式和 Alpha 模式。 如需每個轉譯目標所支援的圖元格式和 Alpha 模式清單,請參閱 支援的圖元格式和 Alpha 模式。
dpiX
類型: FLOAT
轉譯目標的水準 DPI。 若要使用預設 DPI,請將 dpiX 和 dpiY 設定為 0。 如需詳細資訊,請參閱<備註>一節。
dpiY
類型: FLOAT
轉譯目標的垂直 DPI。 若要使用預設 DPI,請將 dpiX 和 dpiY 設定為 0。 如需詳細資訊,請參閱<備註>一節。
usage
值,指定轉譯目標遠端的方式,以及它是否應該與 GDI 相容。 設定為 D2D1_RENDER_TARGET_USAGE_NONE 建立與 GDI 不相容的轉譯目標,並在可用時使用 Direct3D 命令數據流遠端處理。
minLevel
值,指定硬體轉譯所需的最小 Direct3D 功能層級。 如果指定的最小層級無法使用,則轉譯目標會在 類型 成員設定為 D2D1_RENDER_TARGET_TYPE_DEFAULT時使用軟體轉譯;如果 類型 設定為 D2D1_RENDER_TARGET_TYPE_HARDWARE,則轉譯目標建立會失敗。 D2D1_FEATURE_LEVEL_DEFAULT值表示 Direct2D 應該判斷裝置的 Direct3D 功能層級是否足夠。 只有在建立 ID2D1HwndRenderTarget 和 ID2D1DCRenderTarget 物件時,才會使用此欄位。
備註
建立轉譯目標時使用此結構,或使用它搭配 ID2D1RenderTarget::IsSupported 方法來檢查現有轉譯目標所支援的屬性。
為了方便起見,Direct2D 提供 D2D1::RenderTargetProperties 協助程式函式來建立 D2D1_RENDER_TARGET_PROPERTIES 結構。 建立適用於大部分轉譯目標的 D2D1_RENDER_TARGET_PROPERTIES 結構簡單方式,就是呼叫函式而不指定任何參數。 這麼做會建立 D2D1_RENDER_TARGET_PROPERTIES 結構,其字段設定為預設值。 如需詳細資訊,請參閱 D2D1::RenderTargetProperties。
並非所有轉譯目標都支援硬體轉譯。 如需清單,請參閱 轉譯目標概觀。
使用預設 DPI 設定
若要使用預設 DPI,請將 dpiX 和 dpiY 設定為 0。 預設 DPI 會根據轉譯目標而有所不同:- 針對相容的轉譯目標,預設 DPI 是父轉譯目標的 DPI。
- 針對 ID2D1HwndRenderTarget,預設 DPI是從轉譯目標的 ID2D1Factory取得的系統 DPI。
- 對於其他轉譯目標,預設 DPI 為 96。
範例
下列範例使用 D2D1::RenderTargetProperties 函式來建立適用於大部分轉譯目標的 D2D1_RENDER_TARGET_PROPERTIES 結構。
RECT rc;
GetClientRect(m_hwnd, &rc);
D2D1_SIZE_U size = D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top
);
// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
標頭 | d2d1.h |