ID2D1PathGeometry::Metode buka (d2d1.h)
Mengambil sink geometri yang digunakan untuk mengisi geometri jalur dengan angka dan segmen.
Sintaks
HRESULT Open(
[out] ID2D1GeometrySink **geometrySink
);
Parameter
[out] geometrySink
Jenis: ID2D1GeometrySink**
Ketika metode ini kembali, geometrySink berisi alamat penunjuk ke sink geometri yang digunakan untuk mengisi geometri jalur dengan gambar dan segmen. Parameter ini diteruskan tanpa diinisialisasi.
Mengembalikan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Karena geometri jalur tidak dapat diubah dan hanya dapat diisi sekali, itu adalah kesalahan untuk memanggil Buka pada geometri jalur lebih dari sekali.
Perhatikan bahwa mode isian default ke D2D1_FILL_MODE_ALTERNATE. Untuk mengatur mode isian, panggil SetFillMode sebelum panggilan pertama ke BeginFigure. Kegagalan untuk melakukannya akan menempatkan sink geometri dalam status kesalahan.
Contoh
Contoh berikut membuat ID2D1PathGeometry, mengambil sink, dan menggunakan sink 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 |
Pustaka | D2d1.lib |
DLL | D2d1.dll |