METODE ID2D1Factory::CreateDCRenderTarget (d2d1.h)
Membuat target render yang menarik ke konteks perangkat Windows Graphics Device Interface (GDI).
Sintaks
HRESULT CreateDCRenderTarget(
[in] const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
[out] ID2D1DCRenderTarget **dcRenderTarget
);
Parameter
[in] renderTargetProperties
Jenis: const D2D1_RENDER_TARGET_PROPERTIES*
Mode penyajian, format piksel, opsi jarak jauh, informasi DPI, dan dukungan DirectX minimum yang diperlukan untuk penyajian perangkat keras. Untuk mengaktifkan target render konteks perangkat (DC) agar berfungsi dengan GDI, atur format DXGI ke DXGI_FORMAT_B8G8R8A8_UNORM dan mode alfa ke D2D1_ALPHA_MODE_PREMULTIPLIED atau D2D1_ALPHA_MODE_IGNORE. Untuk informasi selengkapnya tentang format piksel, lihat Format Piksel dan Mode Alfa yang Didukung.
[out] dcRenderTarget
Jenis: ID2D1DCRenderTarget**
Ketika metode ini kembali, dcRenderTarget berisi alamat penunjuk ke ID2D1DCRenderTarget yang dibuat oleh metode .
Mengembalikan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Sebelum dapat merender dengan target render DC, Anda harus menggunakan metode BindDC target render untuk mengaitkannya dengan GDI DC. Lakukan ini untuk setiap DC yang berbeda dan setiap kali ada perubahan ukuran area yang ingin Anda gambar.
Untuk mengaktifkan target render DC agar berfungsi dengan GDI, atur format DXGI target render ke DXGI_FORMAT_B8G8R8A8_UNORM dan mode alfa ke D2D1_ALPHA_MODE_PREMULTIPLIED atau D2D1_ALPHA_MODE_IGNORE.
Aplikasi Anda harus membuat target render sekali dan menahannya selama masa pakai aplikasi atau sampai metode EndDraw target render mengembalikan kesalahan D2DERR_RECREATE_TARGET . Ketika Anda menerima kesalahan ini, buat ulang target render (dan sumber daya apa pun yang dibuatnya).
Contoh
Kode berikut membuat target render DC.
// Create a DC render target.
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat(
DXGI_FORMAT_B8G8R8A8_UNORM,
D2D1_ALPHA_MODE_IGNORE),
0,
0,
D2D1_RENDER_TARGET_USAGE_NONE,
D2D1_FEATURE_LEVEL_DEFAULT
);
hr = m_pD2DFactory->CreateDCRenderTarget(&props, &m_pDCRT);
Dalam kode sebelumnya, m_pD2DFactory adalah penunjuk ke ID2D1Factory, dan m_pDCRT adalah penunjuk ke ID2D1DCRenderTarget.
Contoh kode berikutnya mengikat DC ke ID2D1DCRenderTarget.
HRESULT DemoApp::OnRender(const PAINTSTRUCT &ps)
{
// Get the dimensions of the client drawing area.
GetClientRect(m_hwnd, &rc);
// Bind the DC to the DC render target.
hr = m_pDCRT->BindDC(ps.hdc, &rc);
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 |
Pustaka | D2d1.lib |
DLL | D2d1.dll |