Compartir a través de


Interfaz IDWriteBitmapRenderTarget (dwrite.h)

Encapsula un mapa de bits independiente del dispositivo de 32 bits y el contexto del dispositivo, que se pueden usar para representar glifos.

Herencia

La interfaz IDWriteBitmapRenderTarget hereda de la interfaz IUnknown . IDWriteBitmapRenderTarget también tiene estos tipos de miembros:

Métodos

La interfaz IDWriteBitmapRenderTarget tiene estos métodos.

 
IDWriteBitmapRenderTarget::D rawGlyphRun

Dibuja una ejecución de glifos en un destino de mapa de bits en la posición especificada.
IDWriteBitmapRenderTarget::GetCurrentTransform

Obtiene la transformación que asigna coordenadas abstractas a DIP. De forma predeterminada, esta es la transformación de identidad. Tenga en cuenta que esto no está relacionado con la transformación mundial del contexto del dispositivo subyacente.
IDWriteBitmapRenderTarget::GetMemoryDC

Obtiene un identificador para el contexto del dispositivo de memoria.
IDWriteBitmapRenderTarget::GetPixelsPerDip

Obtiene el número de píxeles de mapa de bits por DIP.
IDWriteBitmapRenderTarget::GetSize

Obtiene las dimensiones del mapa de bits de destino.
IDWriteBitmapRenderTarget::Resize

Cambia el tamaño del mapa de bits.
IDWriteBitmapRenderTarget::SetCurrentTransform

Establece la transformación que asigna coordenadas abstractas a DIP (píxel independiente del dispositivo). Esto no afecta a la transformación mundial del contexto del dispositivo subyacente.
IDWriteBitmapRenderTarget::SetPixelsPerDip

Establece el número de píxeles de mapa de bits por DIP (píxel independiente del dispositivo). Un DIP es de 1/96 pulgadas, por lo que este valor es el número si píxeles por pulgada divididos por 96.

Comentarios

Cree un idwriteBitmapRenderTarget mediante el método IDWriteGdiInterop::CreateBitmapRenderTarget , tal como se muestra en el código siguiente.

if (SUCCEEDED(hr))
{
    hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);
}

IDWriteGdiInterop::CreateBitmapRenderTarget toma un identificador de un controlador de dominio y el ancho y alto deseados. En el ejemplo anterior, el ancho y el alto especificados son el tamaño de la ventana rect.

Representación

Una manera de usar un IDWriteBitmapRenderTarget, para la representación en un mapa de bits, es implementar una interfaz de representador personalizada derivada de la interfaz IDWriteTextRenderer . En la implementación del método DrawGlyphRun del representador personalizado, llame al método IDWriteBitmapRenderTarget::D rawGlyphRun para dibujar los glifos como se muestra en el código siguiente.
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 encapsula y representa en un mapa de bits en memoria. La función GetMemoryDC devuelve un identificador al contexto del dispositivo de este mapa de bits.

Requisitos

   
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado dwrite.h