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 |