Antarmuka ID2D1BitmapRenderTarget (d2d1.h)
Merender ke tekstur perantara yang dibuat oleh metode CreateCompatibleRenderTarget .
Warisan
Antarmuka ID2D1BitmapRenderTarget mewarisi dari ID2D1RenderTarget. ID2D1BitmapRenderTarget juga memiliki jenis anggota berikut:
Metode
Antarmuka ID2D1BitmapRenderTarget memiliki metode ini.
ID2D1BitmapRenderTarget::GetBitmap Mengambil bitmap untuk target render ini. Bitmap yang dikembalikan dapat digunakan untuk operasi menggambar. |
Keterangan
ID2D1BitmapRenderTarget menulis ke tekstur perantara. Ini berguna untuk membuat pola untuk digunakan dengan ID2D1BitmapBrush atau penembolokan data gambar yang akan digunakan berulang kali.
Untuk menulis langsung ke bitmap WIC sebagai gantinya, gunakan metode ID2D1Factory::CreateWicBitmapRenderTarget . Metode ini mengembalikan ID2D1RenderTarget yang menulis ke bitmap WIC yang ditentukan.
Membuat Objek ID2D1BitmapRenderTarget
Untuk membuat target render bitmap, panggil metode ID2D1RenderTarget::CreateCompatibleRenderTarget .Seperti target render lainnya, ID2D1BitmapRenderTarget adalah sumber daya yang bergantung pada perangkat dan harus dibuat ulang ketika perangkat terkait menjadi tidak tersedia. Untuk informasi selengkapnya, lihat Gambaran Umum Sumber Daya.
Contoh
Contoh berikut menggunakan metode CreateCompatibleRenderTarget untuk membuat ID2D1BitmapRenderTarget dan menggunakannya untuk menggambar pola kisi. Pola kisi digunakan sebagai sumber ID2D1BitmapBrush.
HRESULT DemoApp::CreateGridPatternBrush(
ID2D1RenderTarget *pRenderTarget,
ID2D1BitmapBrush **ppBitmapBrush
)
{
// Create a compatible render target.
ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;
HRESULT hr = pRenderTarget->CreateCompatibleRenderTarget(
D2D1::SizeF(10.0f, 10.0f),
&pCompatibleRenderTarget
);
if (SUCCEEDED(hr))
{
// Draw a pattern.
ID2D1SolidColorBrush *pGridBrush = NULL;
hr = pCompatibleRenderTarget->CreateSolidColorBrush(
D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
&pGridBrush
);
if (SUCCEEDED(hr))
{
pCompatibleRenderTarget->BeginDraw();
pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);
pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.1f, 1.0f, 10.0f), pGridBrush);
pCompatibleRenderTarget->EndDraw();
// Retrieve the bitmap from the render target.
ID2D1Bitmap *pGridBitmap = NULL;
hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);
if (SUCCEEDED(hr))
{
// Choose the tiling mode for the bitmap brush.
D2D1_BITMAP_BRUSH_PROPERTIES brushProperties =
D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP, D2D1_EXTEND_MODE_WRAP);
// Create the bitmap brush.
hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap, brushProperties, ppBitmapBrush);
pGridBitmap->Release();
}
pGridBrush->Release();
}
pCompatibleRenderTarget->Release();
}
return hr;
}
Contoh kode berikut menggunakan kuas untuk melukis pola.
// Paint a grid background.
m_pRenderTarget->FillRectangle(
D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
m_pGridPatternBitmapBrush
);
Kode telah dihilangkan dari contoh ini.
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
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