Metode ID2D1RenderTarget::CreateLayer(constD2D1_SIZE_F*,ID2D1Layer**) (d2d1.h)
Membuat sumber daya lapisan yang dapat digunakan dengan target render ini dan target render yang kompatibel.
Sintaks
HRESULT CreateLayer(
const D2D1_SIZE_F *size,
ID2D1Layer **layer
);
Parameter
size
Jenis: [in] const D2D1_SIZE_F*
Jika (0, 0) ditentukan, tidak ada penyimpanan cadangan yang dibuat di belakang sumber daya lapisan. Sumber daya lapisan dialokasikan ke ukuran minimum saat PushLayer dipanggil.
layer
Jenis: [out] ID2D1Layer**
Saat metode kembali, berisi penunjuk ke penunjuk ke lapisan baru. 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
Lapisan secara otomatis mengubah ukuran dirinya sendiri, sesuai kebutuhan.
Contoh
Contoh berikut menggunakan lapisan untuk mengklip bitmap ke masker geometris. Untuk contoh lengkapnya, lihat Cara Klip ke Masker Geometris.
HRESULT DemoApp::RenderWithLayer(ID2D1RenderTarget *pRT)
{
HRESULT hr = S_OK;
// Create a layer.
ID2D1Layer *pLayer = NULL;
hr = pRT->CreateLayer(NULL, &pLayer);
if (SUCCEEDED(hr))
{
pRT->SetTransform(D2D1::Matrix3x2F::Translation(350, 50));
// Push the layer with the geometric mask.
pRT->PushLayer(
D2D1::LayerParameters(D2D1::InfiniteRect(), m_pPathGeometry),
pLayer
);
pRT->DrawBitmap(m_pOrigBitmap, D2D1::RectF(0, 0, 200, 133));
pRT->FillRectangle(D2D1::RectF(0.f, 0.f, 25.f, 25.f), m_pSolidColorBrush);
pRT->FillRectangle(D2D1::RectF(25.f, 25.f, 50.f, 50.f), m_pSolidColorBrush);
pRT->FillRectangle(D2D1::RectF(50.f, 50.f, 75.f, 75.f), m_pSolidColorBrush);
pRT->FillRectangle(D2D1::RectF(75.f, 75.f, 100.f, 100.f), m_pSolidColorBrush);
pRT->FillRectangle(D2D1::RectF(100.f, 100.f, 125.f, 125.f), m_pSolidColorBrush);
pRT->FillRectangle(D2D1::RectF(125.f, 125.f, 150.f, 150.f), m_pSolidColorBrush);
pRT->PopLayer();
}
SafeRelease(&pLayer);
return hr;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d2d1.h |
Pustaka | D2d1.lib |
DLL | D2d1.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk