Antarmuka ID2D1PathGeometry (d2d1.h)
Mewakili bentuk kompleks yang mungkin terdiri dari busur, kurva, dan garis.
Warisan
Antarmuka ID2D1PathGeometry mewarisi dari ID2D1Geometry. ID2D1PathGeometry juga memiliki jenis anggota berikut:
Metode
Antarmuka ID2D1PathGeometry memiliki metode ini.
ID2D1PathGeometry::GetFigureCount Mengambil jumlah angka dalam geometri jalur. |
ID2D1PathGeometry::GetSegmentCount Mengambil jumlah segmen dalam geometri jalur. |
ID2D1PathGeometry::Open Mengambil sink geometri yang digunakan untuk mengisi geometri jalur dengan angka dan segmen. |
ID2D1PathGeometry::Stream Menyalin konten geometri jalur ke ID2D1GeometrySink yang ditentukan. |
Keterangan
Objek ID2D1PathGeometry memungkinkan Anda menjelaskan jalur geometris. Untuk menjelaskan jalur objek ID2D1PathGeometry , gunakan metode Buka objek untuk mengambil ID2D1GeometrySink. Gunakan sink untuk mengisi geometri jalur dengan angka dan segmen.
Membuat Objek ID2D1PathGeometry
Untuk membuat geometri jalur, gunakan metode ID2D1Factory::CreatePathGeometry .Objek ID2D1PathGeometry adalah sumber daya independen perangkat yang dibuat oleh ID2D1Factory. Secara umum, Anda harus membuat geometri sekali dan mempertahankannya selama masa pakai aplikasi, atau sampai perlu dimodifikasi. Untuk informasi selengkapnya tentang sumber daya yang independen perangkat dan bergantung pada perangkat, lihat Gambaran Umum Sumber Daya.
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
Persyaratan | Nilai |
---|---|
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 |