Antarmuka IDWriteBitmapRenderTarget (dwrite.h)
Merangkum bitmap dan konteks perangkat independen perangkat 32-bit, yang dapat digunakan untuk merender glyph.
Warisan
Antarmuka IDWriteBitmapRenderTarget mewarisi dari antarmuka IUnknown . IDWriteBitmapRenderTarget juga memiliki jenis anggota berikut:
Metode
Antarmuka IDWriteBitmapRenderTarget memiliki metode ini.
IDWriteBitmapRenderTarget::D rawGlyphRun Menggambar eksekusi glyph ke target bitmap pada posisi yang ditentukan. |
IDWriteBitmapRenderTarget::GetCurrentTransform Mendapatkan transformasi yang memetakan koordinat abstrak ke DIP. Secara default ini adalah transformasi identitas. Perhatikan bahwa ini tidak terkait dengan transformasi dunia dari konteks perangkat yang mendasar. |
IDWriteBitmapRenderTarget::GetMemoryDC Mendapatkan handel ke konteks perangkat memori. |
IDWriteBitmapRenderTarget::GetPixelsPerDip Mendapatkan jumlah piksel bitmap per DIP. |
IDWriteBitmapRenderTarget::GetSize Mendapatkan dimensi bitmap target. |
IDWriteBitmapRenderTarget::Resize Mengubah ukuran bitmap. |
IDWriteBitmapRenderTarget::SetCurrentTransform Mengatur transformasi yang memetakan koordinat abstrak ke DIP (piksel independen perangkat). Ini tidak memengaruhi transformasi dunia dari konteks perangkat yang mendasar. |
IDWriteBitmapRenderTarget::SetPixelsPerDip Mengatur jumlah piksel bitmap per DIP (piksel independen perangkat). DIP adalah 1/96 inci, sehingga nilai ini adalah angka jika piksel per inci dibagi 96. |
Keterangan
Anda membuat metode IDWriteBitmapRenderTarget dengan menggunakan metode IDWriteGdiInterop::CreateBitmapRenderTarget , seperti yang ditunjukkan dalam kode berikut.
if (SUCCEEDED(hr))
{
hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);
}
IDWriteGdiInterop::CreateBitmapRenderTarget mengambil handel ke DC dan lebar dan tinggi yang diinginkan. Dalam contoh di atas, lebar dan tinggi yang diberikan adalah ukuran rect jendela.
Rendering
Salah satu cara untuk menggunakan IDWriteBitmapRenderTarget, untuk penyajian ke bitmap, adalah dengan mengimplementasikan antarmuka perender kustom yang berasal dari antarmuka IDWriteTextRenderer . Dalam implementasi metode DrawGlyphRun dari perender kustom Anda, panggil metode IDWriteBitmapRenderTarget::D rawGlyphRun untuk menggambar glyph seperti yang ditunjukkan dalam kode berikut.STDMETHODIMP GdiTextRenderer::DrawGlyphRun(
__maybenull void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
__in DWRITE_GLYPH_RUN const* glyphRun,
__in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
IUnknown* clientDrawingEffect
)
{
HRESULT hr = S_OK;
// Pass on the drawing call to the render target to do the real work.
RECT dirtyRect = {0};
hr = pRenderTarget_->DrawGlyphRun(
baselineOriginX,
baselineOriginY,
measuringMode,
glyphRun,
pRenderingParams_,
RGB(0,200,255),
&dirtyRect
);
return hr;
}
IDWriteBitmapRenderTarget merangkum dan merender ke bitmap dalam memori. Fungsi GetMemoryDC mengembalikan handel ke konteks perangkat bitmap ini.
Persyaratan
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 | dwrite.h |
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