共用方式為


ID2D1Layer 介面 (d2d1.h)

表示呈現圖層所需的備份存放區。

繼承

ID2D1Layer介面繼承自ID2D1ResourceID2D1Layer 也有下列類型的成員:

方法

ID2D1Layer介面具有這些方法。

 
ID2D1Layer::GetSize

取得與裝置無關圖元的圖層大小。

備註

若要建立圖層,請呼叫將使用圖層之轉譯目標的 CreateLayer 方法。 若要繪製至圖層,請呼叫 PushLayer 方法,將圖層推送至轉譯目標堆疊。 完成繪製圖層之後,請呼叫 PopLayer 方法。

在 PushLayerPopLayer呼叫之間,圖層正在使用中,無法由另一個轉譯目標使用。

如果未指定圖層的大小,對應的 PushLayer 呼叫會根據圖層內容界限和幾何遮罩來決定最小圖層大小。 圖層資源可以大於 PushLayer 不需要任何轉譯成品所需的大小。

如果指定圖層的大小,或者已使用圖層,而且在 PushLayer 期間計算所需的備份存放區大小大於圖層,則圖層資源會以單調方式展開在每個軸上,以確保它夠大。 圖層資源永遠不會縮小大小。

建立 ID2D1Layer 物件

若要建立圖層,請呼叫將使用圖層之轉譯目標的 CreateLayer 方法。

圖層是裝置相依的資源:您的應用程式應該在初始化要使用的轉譯目標之後建立圖層,並在轉譯目標需要重新建立時重新建立圖層。 (如需資源的詳細資訊,請參閱 資源概觀.)

範例

下列範例使用圖層將繪圖裁剪為幾何遮罩。 如需完整範例,請參閱 How to Clip to a Geometric Mask

HRESULT DemoApp::RenderWithLayer(ID2D1RenderTarget *pRT)
{
    HRESULT hr = S_OK;

    // Create a layer.
    ID2D1Layer *pLayer = NULL;
    hr = pRT->CreateLayer(NULL, &pLayer);

    if (SUCCEEDED(hr))
    {
        pRT->SetTransform(D2D1::Matrix3x2F::Translation(350, 50));

        // Push the layer with the geometric mask.
        pRT->PushLayer(
            D2D1::LayerParameters(D2D1::InfiniteRect(), m_pPathGeometry),
            pLayer
            );
            
  
        pRT->DrawBitmap(m_pOrigBitmap, D2D1::RectF(0, 0, 200, 133));
        pRT->FillRectangle(D2D1::RectF(0.f, 0.f, 25.f, 25.f), m_pSolidColorBrush);  
        pRT->FillRectangle(D2D1::RectF(25.f, 25.f, 50.f, 50.f), m_pSolidColorBrush);
        pRT->FillRectangle(D2D1::RectF(50.f, 50.f, 75.f, 75.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(75.f, 75.f, 100.f, 100.f), m_pSolidColorBrush);    
        pRT->FillRectangle(D2D1::RectF(100.f, 100.f, 125.f, 125.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(125.f, 125.f, 150.f, 150.f), m_pSolidColorBrush);    
        

        pRT->PopLayer();
    }

    SafeRelease(&pLayer);

    return hr;
}

規格需求

   
最低支援的用戶端 適用于 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

另請參閱

ID2D1RenderTarget

ID2D1Resource

圖層概觀