ID2D1Factory 介面 (d2d1.h)
建立 Direct2D 資源。
繼承
ID2D1Factory 介面繼承自 IUnknown 介面。 ID2D1Factory 也有下列類型的成員:
方法
ID2D1Factory 介面具有這些方法。
ID2D1Factory::CreateDCRenderTarget 建立繪製到 Windows 圖形裝置介面的轉譯目標, (GDI) 裝置內容。 |
ID2D1Factory::CreateDrawingStateBlock 建立可搭配轉譯目標的 SaveDrawingStateState 和 RestoreDrawingState 方法使用的 ID2D1DrawingStateBlock。 (多載 1/3) |
ID2D1Factory::CreateDrawingStateBlock 建立可搭配轉譯目標的 SaveDrawingStateState 和 RestoreDrawingState 方法使用的 ID2D1DrawingStateBlock。 (多載 2/3) |
ID2D1Factory::CreateDrawingStateBlock 建立可搭配轉譯目標的 SaveDrawingStateState 和 RestoreDrawingState 方法使用的 ID2D1DrawingStateBlock。 (多載 3/3) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget 建立繪製到 DirectX 圖形基礎結構 (DXGI) 介面的轉譯目標。 (多載 1/2) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget 建立繪製到 DirectX 圖形基礎結構 (DXGI) 介面的轉譯目標。 (多載 2/2) |
ID2D1Factory::CreateEllipseGeometry 建立 ID2D1EllipseGeometry。 (多載 2/2) |
ID2D1Factory::CreateEllipseGeometry 建立 ID2D1EllipseGeometry。 (多載 1/2) |
ID2D1Factory::CreateGeometryGroup 建立ID2D1GeometryGroup,這是保存其他幾何的物件。 |
ID2D1Factory::CreateHwndRenderTarget 建立ID2D1HwndRenderTarget,這是轉譯至視窗的轉譯目標。 (多載 2/2) |
ID2D1Factory::CreateHwndRenderTarget 建立ID2D1HwndRenderTarget,這是轉譯至視窗的轉譯目標。 (多載 1/2) |
ID2D1Factory::CreatePathGeometry 建立空的ID2D1PathGeometry。 |
ID2D1Factory::CreateRectangleGeometry 建立 ID2D1RectangleGeometry。 (多載 2/2) |
ID2D1Factory::CreateRectangleGeometry 建立 ID2D1RectangleGeometry。 (多載 1/2) |
ID2D1Factory::CreateRoundedRectangleGeometry 建立 ID2D1RoundedRectangleGeometry。 (多載 2/2) |
ID2D1Factory::CreateRoundedRectangleGeometry 建立 ID2D1RoundedRectangleGeometry。 (多載 1/2) |
ID2D1Factory::CreateStrokeStyle 建立ID2D1StrokeStyle,描述筆劃的開始上限、虛線圖樣和其他功能。 (多載 2/2) |
ID2D1Factory::CreateStrokeStyle 建立ID2D1StrokeStyle,描述筆劃的開始上限、虛線圖樣和其他功能。 (多載 1/2) |
ID2D1Factory::CreateTransformedGeometry 轉換指定的幾何,並將結果儲存為ID2D1TransformedGeometry物件。 (多載 2/2) |
ID2D1Factory::CreateTransformedGeometry 轉換指定的幾何,並將結果儲存為ID2D1TransformedGeometry物件。 (多載 1/2) |
ID2D1Factory::CreateWicBitmapRenderTarget 建立轉譯目標,此轉譯目標會轉譯為 Microsoft Windows 圖像處理元件 (WIC) 位陣圖。 (多載 2/2) |
ID2D1Factory::CreateWicBitmapRenderTarget 建立轉譯目標,此轉譯目標會轉譯為 Microsoft Windows 圖像處理元件 (WIC) 位陣圖。 (多載 1/2) |
ID2D1Factory::GetDesktopDpi 擷取目前桌面點每英吋 (DPI) 。 若要重新整理此值,請呼叫 ReloadSystemMetrics。 |
ID2D1Factory::ReloadSystemMetrics 強制處理站重新整理在建立處理站后可能變更的任何系統預設值。 |
備註
ID2D1Factory 介面是使用 Direct2D 的起點;這是您用來建立其他 Direct2D 資源的內容,可用來繪製或描述圖形。
處理站會定義一組可產生下列繪圖資源的建立資源 方法:
- 轉譯目標:轉譯繪圖命令的物件。
- 繪圖狀態區塊:儲存繪圖狀態信息的物件,例如目前的轉換和反鋸齒模式。
- 幾何:代表簡單且可能複雜圖形的物件。
若要建立 ID2D1Factory,您可以使用其中一個 CreateFactory 方法。 只要您使用 Direct2D 資源,您應該保留 ID2D1Factory 實例;一般而言,您不應該在執行應用程式時重新建立它。 如需 Direct2D 資源的詳細資訊,請參閱 資源概觀。
單線程和多線程處理站
當您建立處理站時,可以指定它是多線程還是單個線程。 單一線程處理站不會針對 Direct2D 內的任何其他單個線程實例提供串行化,因此,此機制會在 CPU 上提供非常大量的調整。您也可以建立多線程處理站實例。 在這裡情況下,處理站和所有衍生物件都可以從任何線程使用,而且每個轉譯目標都可以獨立轉譯為 。 Direct2D 會串行化對這些物件的呼叫,因此單一多線程 Direct2D 實例不會在 CPU 上調整為多個單個線程實例。 不過,資源可以在多線程實例內共用。
請注意,限定符「在CPU上」:GPU 通常會利用比CPU更精細的平行處理原則。 例如,從 CPU 的多線程呼叫在傳送至 GPU 時仍可能會串行化,不過,整個圖元和頂點著色器會以平行方式執行,以執行轉譯。
如需詳細資訊,請參閱 多線程 Direct2D 應用程式 。
範例
下列代碼段會宣告 Factory 指標、建立單一線程處理站實例,並使用 Factory 來建立轉譯目標。
ID2D1Factory* m_pDirect2dFactory;
// Create a Direct2D factory.
hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);
// Create a Direct2D render target.
hr = m_pDirect2dFactory->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 應用程式] |
目標平台 | Windows |
標頭 | d2d1.h |