Condividi tramite


Metodo ID2D1SimplifiedGeometrySink::Close (d2d1.h)

Chiude il sink geometry, indica se si trova in uno stato di errore e reimposta lo stato di errore del sink.

Sintassi

HRESULT Close();

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Non chiudere il sink di geometria mentre una figura è ancora in corso; in questo modo il sink geometry viene inserita in uno stato di errore. Affinché l'operazione di chiusura abbia esito positivo, deve essere presente una chiamata EndFigure per ogni chiamata a BeginFigure.

Dopo aver chiamato questo metodo, il sink geometry potrebbe non essere utilizzabile. Le implementazioni Direct2D di questa interfaccia non consentono la modifica del sink geometry dopo la chiusura, ma altre implementazioni potrebbero non imporre questa restrizione.

Esempio

L'esempio seguente crea un oggetto ID2D1PathGeometry, recupera un sink e lo usa per definire una forma clessidra.

ID2D1GeometrySink *pSink = NULL;


// Create a path geometry.
if (SUCCEEDED(hr))
{
    hr = m_pD2DFactory->CreatePathGeometry(&m_pPathGeometry);

    if (SUCCEEDED(hr))
    {
        // Write to the path geometry using the geometry sink.
        hr = m_pPathGeometry->Open(&pSink);

        if (SUCCEEDED(hr))
        {
            pSink->BeginFigure(
                D2D1::Point2F(0, 0),
                D2D1_FIGURE_BEGIN_FILLED
                );

            pSink->AddLine(D2D1::Point2F(200, 0));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(150, 50),
                    D2D1::Point2F(150, 150),
                    D2D1::Point2F(200, 200))
                );

            pSink->AddLine(D2D1::Point2F(0, 200));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(50, 150),
                    D2D1::Point2F(50, 50),
                    D2D1::Point2F(0, 0))
                );

            pSink->EndFigure(D2D1_FIGURE_END_CLOSED);

            hr = pSink->Close();
        }
        SafeRelease(&pSink);
    }
}

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

ID2D1SimplifiedGeometrySink