Bagikan melalui


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

Gambaran Umum Direct2D

Membuat aplikasi Direct2D sederhana

Memulai Direct2D

IUnknown

Aplikasi Direct2D Multithreaded

Gambaran Umum Sumber Daya