共用方式為


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

另請參閱

Direct2D 概觀

建立簡單的 Direct2D 應用程式

使用 Direct2D 使用者入門

IUnknown

多執行緒 Direct2D 應用程式

資源概觀