Antarmuka ID2D1Factory (d2d1.h)
Membuat sumber daya Direct2D.
Warisan
Antarmuka ID2D1Factory mewarisi dari antarmuka IUnknown . ID2D1Factory juga memiliki jenis anggota berikut:
Metode
Antarmuka ID2D1Factory memiliki metode ini.
ID2D1Factory::CreateDCRenderTarget Membuat target render yang menarik ke konteks perangkat Windows Graphics Device Interface (GDI). |
ID2D1Factory::CreateDrawingStateBlock Membuat ID2D1DrawingStateBlock yang dapat digunakan dengan metode SaveDrawingState dan RestoreDrawingState dari target render. (kelebihan beban 1/3) |
ID2D1Factory::CreateDrawingStateBlock Membuat ID2D1DrawingStateBlock yang dapat digunakan dengan metode SaveDrawingState dan RestoreDrawingState dari target render. (kelebihan beban 2/3) |
ID2D1Factory::CreateDrawingStateBlock Membuat ID2D1DrawingStateBlock yang dapat digunakan dengan metode SaveDrawingState dan RestoreDrawingState dari target render. (kelebihan beban 3/3) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget Membuat target render yang menarik ke permukaan DirectX Graphics Infrastructure (DXGI). (kelebihan beban 1/2) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget Membuat target render yang menarik ke permukaan DirectX Graphics Infrastructure (DXGI). (kelebihan beban 2/2) |
ID2D1Factory::CreateEllipseGeometry Membuat ID2D1EllipseGeometry. (kelebihan beban 2/2) |
ID2D1Factory::CreateEllipseGeometry Membuat ID2D1EllipseGeometry. (kelebihan beban 1/2) |
ID2D1Factory::CreateGeometryGroup Membuat ID2D1GeometryGroup, yang merupakan objek yang menyimpan geometri lainnya. |
ID2D1Factory::CreateHwndRenderTarget Membuat ID2D1HwndRenderTarget, target render yang dirender ke jendela. (kelebihan beban 2/2) |
ID2D1Factory::CreateHwndRenderTarget Membuat ID2D1HwndRenderTarget, target render yang dirender ke jendela. (kelebihan beban 1/2) |
ID2D1Factory::CreatePathGeometry Membuat ID2D1PathGeometry kosong. |
ID2D1Factory::CreateRectangleGeometry Membuat ID2D1RectangleGeometry. (kelebihan beban 2/2) |
ID2D1Factory::CreateRectangleGeometry Membuat ID2D1RectangleGeometry. (kelebihan beban 1/2) |
ID2D1Factory::CreateRoundedRectangleGeometry Membuat ID2D1RoundedRectangleGeometry. (kelebihan beban 2/2) |
ID2D1Factory::CreateRoundedRectangleGeometry Membuat ID2D1RoundedRectangleGeometry. (kelebihan beban 1/2) |
ID2D1Factory::CreateStrokeStyle Membuat ID2D1StrokeStyle yang menjelaskan batas awal, pola tanda hubung, dan fitur lain dari stroke. (kelebihan beban 2/2) |
ID2D1Factory::CreateStrokeStyle Membuat ID2D1StrokeStyle yang menjelaskan batas awal, pola tanda hubung, dan fitur lain dari stroke. (kelebihan beban 1/2) |
ID2D1Factory::CreateTransformedGeometry Mengubah geometri yang ditentukan dan menyimpan hasilnya sebagai objek ID2D1TransformedGeometry. (kelebihan beban 2/2) |
ID2D1Factory::CreateTransformedGeometry Mengubah geometri yang ditentukan dan menyimpan hasilnya sebagai objek ID2D1TransformedGeometry. (kelebihan beban 1/2) |
ID2D1Factory::CreateWicBitmapRenderTarget Membuat target render yang dirender ke bitmap Microsoft Windows Imaging Component (WIC). (kelebihan beban 2/2) |
ID2D1Factory::CreateWicBitmapRenderTarget Membuat target render yang dirender ke bitmap Microsoft Windows Imaging Component (WIC). (kelebihan beban 1/2) |
ID2D1Factory::GetDesktopDpi Mengambil titik desktop saat ini per inci (DPI). Untuk menyegarkan nilai ini, panggil ReloadSystemMetrics. |
ID2D1Factory::ReloadSystemMetrics Memaksa pabrik untuk me-refresh default sistem apa pun yang mungkin telah berubah sejak pembuatan pabrik. |
Keterangan
Antarmuka ID2D1Factory adalah titik awal untuk menggunakan Direct2D; inilah yang Anda gunakan untuk membuat sumber daya Direct2D lain yang dapat Anda gunakan untuk menggambar atau menggambarkan bentuk.
Pabrik menentukan sekumpulan metode BuatSumber Daya yang dapat menghasilkan sumber daya gambar berikut:
- Merender target: objek yang merender perintah gambar.
- Blok status menggambar: objek yang menyimpan informasi status gambar, seperti transformasi saat ini dan mode antialias.
- Geometri: objek yang mewakili bentuk sederhana dan berpotensi kompleks.
Untuk membuat ID2D1Factory, Anda menggunakan salah satu metode CreateFactory . Anda harus mempertahankan instans ID2D1Factory selama Anda menggunakan sumber daya Direct2D; secara umum, Anda tidak perlu membuatnya kembali saat aplikasi berjalan. Untuk informasi selengkapnya tentang sumber daya Direct2D, lihat Gambaran Umum Sumber Daya.
Pabrik Singlethreaded dan Multithreaded
Saat membuat pabrik, Anda dapat menentukan apakah itu multithreaded atau singlethreaded. Pabrik singlethreaded tidak menyediakan serialisasi terhadap instans utas tunggal lainnya dalam Direct2D, jadi, mekanisme ini memberikan tingkat penskalaan yang sangat besar pada CPU.Anda juga dapat membuat instans pabrik multithreaded. Dalam hal ini, pabrik dan semua objek turunan dapat digunakan dari utas apa pun dan setiap target render dapat dirender secara independen. Direct2D menserialisasikan panggilan ke objek ini, sehingga satu instans Direct2D multithreaded tidak akan menskalakan serta pada CPU sebanyak instans utas tunggal. Namun, sumber daya dapat dibagikan dalam instans multithreaded.
Perhatikan bahwa kualifikasi "Pada CPU": GPU umumnya memanfaatkan paralelisme terperinci lebih dari CPU. Misalnya, panggilan multithreaded dari CPU mungkin masih diserialisasikan saat dikirim ke GPU, namun, seluruh bank piksel dan shader vertex akan berjalan secara paralel untuk melakukan penyajian.
Lihat Aplikasi Direct2D Multithreaded untuk informasi selengkapnya.
Contoh
Fragmen kode berikut mendeklarasikan pointer pabrik, membuat instans pabrik singlethreaded, dan menggunakan pabrik untuk membuat target render.
ID2D1Factory* m_pDirect2dFactory;
// Create a Direct2D factory.
hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);
// Create a Direct2D render target.
hr = m_pDirect2dFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
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 |
Lihat juga
Membuat aplikasi Direct2D sederhana