Bagikan melalui


Antarmuka ID2D1GeometrySink (d2d1.h)

Menjelaskan jalur geometris yang dapat berisi garis, busur, kurva Bezier kubik, dan kurva Bezier kuadrat.

Warisan

Antarmuka ID2D1GeometrySink mewarisi dari ID2D1SimplifiedGeometrySink. ID2D1GeometrySink juga memiliki jenis anggota berikut:

Metode

Antarmuka ID2D1GeometrySink memiliki metode ini.

 
ID2D1GeometrySink::AddArc

Menambahkan busur tunggal ke geometri jalur.
ID2D1GeometrySink::AddArc

Membuat busur tunggal dan menambahkannya ke geometri jalur.
ID2D1GeometrySink::AddBezier

Membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan.
ID2D1GeometrySink::AddBezier

Membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan.
ID2D1GeometrySink::AddLine

Membuat segmen garis antara titik saat ini dan titik akhir yang ditentukan dan menambahkannya ke sink geometri.
ID2D1GeometrySink::AddQuadraticBezier

Membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan.
ID2D1GeometrySink::AddQuadraticBezier

Membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan dan menambahkannya ke sink geometri.
ID2D1GeometrySink::AddQuadraticBeziers

Menambahkan urutan segmen Bezier kuadrat sebagai array dalam satu panggilan.

Keterangan

Antarmuka ID2D1GeometrySink memperluas antarmuka ID2D1SimplifiedGeometrySink untuk menambahkan dukungan untuk arc dan bezier kuadrat, serta fungsi untuk menambahkan satu baris dan bezier kubik.

Sink geometri terdiri dari satu atau beberapa gambar. Setiap gambar terdiri dari satu atau beberapa segmen garis, kurva, atau busur. Untuk membuat gambar, panggil metode BeginFigure , tentukan titik awal gambar, lalu gunakan metode Tambahkan (seperti AddLine dan AddBezier) untuk menambahkan segmen. Setelah selesai menambahkan segmen, panggil metode EndFigure . Anda dapat mengulangi urutan ini untuk membuat angka tambahan. Setelah selesai membuat gambar, panggil metode Tutup .

Contoh

Contoh berikut membuat ID2D1PathGeometry, mengambil sink, dan menggunakannya untuk menentukan bentuk hourglass. Untuk contoh lengkapnya, lihat Cara Menggambar dan Mengisi Bentuk Kompleks.

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);
    }
}

Persyaratan

   
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header d2d1.h

Lihat juga

Gambaran Umum Geometri

Cara Menggambar dan Mengisi Bentuk Kompleks

ID2D1SimplifiedGeometrySink