Bagikan melalui


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

Lihat juga

Gambaran Umum Interoperasi Direct2D dan GDI

ID2D1Factory

Format Piksel dan Mode Alfa yang Didukung