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