Metode ID2D1BitmapRenderTarget::GetBitmap (d2d1.h)
Mengambil bitmap untuk target render ini. Bitmap yang dikembalikan dapat digunakan untuk operasi menggambar.
Sintaks
HRESULT GetBitmap(
[out] ID2D1Bitmap **bitmap
);
Parameter
[out] bitmap
Jenis: ID2D1Bitmap**
Ketika metode ini kembali, berisi alamat penunjuk ke bitmap untuk target render ini. Bitmap ini dapat digunakan untuk operasi menggambar.
Mengembalikan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
DPI untuk ID2D1Bitmap yang diperoleh dari GetBitmap akan menjadi DPI dari ID2D1BitmapRenderTarget saat target render dibuat. Mengubah DPI ID2D1BitmapRenderTarget dengan memanggil SetDpi tidak memengaruhi DPI bitmap, bahkan jika SetDpi dipanggil sebelum GetBitmap. Menggunakan SetDpi untuk mengubah DPI ID2D1BitmapRenderTarget memang memengaruhi bagaimana konten dirender ke dalam bitmap: itu hanya tidak memengaruhi DPI bitmap yang diambil oleh GetBitmap.
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 |
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