Método IDWriteFactory::CreateGlyphRunAnalysis (dwrite.h)
Crea un objeto de análisis de ejecución de glifo, que encapsula la información utilizada para representar una ejecución de glifo.
Sintaxis
HRESULT CreateGlyphRunAnalysis(
[in] DWRITE_GLYPH_RUN const *glyphRun,
FLOAT pixelsPerDip,
[in, optional] DWRITE_MATRIX const *transform,
DWRITE_RENDERING_MODE renderingMode,
DWRITE_MEASURING_MODE measuringMode,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[out] IDWriteGlyphRunAnalysis **glyphRunAnalysis
);
Parámetros
[in] glyphRun
Tipo: const DWRITE_GLYPH_RUN*
Estructura que contiene las propiedades de la ejecución del glifo (cara de fuente, avances, etc.).
pixelsPerDip
Tipo: FLOAT
Número de píxeles físicos por DIP (píxel independiente del dispositivo). Por ejemplo, si se representa en un mapa de bits de 96 PPP, píxelesPerDip es 1. Si se representa en un mapa de bits de 120 PPP, pixelsPerDip es 1,25.
[in, optional] transform
Tipo: const DWRITE_MATRIX*
Transformación opcional aplicada a los glifos y sus posiciones. Esta transformación se aplica después del escalado especificado en emSize y pixelsPerDip.
renderingMode
Tipo: DWRITE_RENDERING_MODE
Valor que especifica el modo de representación, que debe ser uno de los modos de representación ráster (es decir, no predeterminado y no esquema).
measuringMode
Tipo: DWRITE_MEASURING_MODE
Especifica el modo de medición que se va a usar con glifos.
baselineOriginX
Tipo: FLOAT
Posición horizontal (coordenada X) del origen de línea base, en DIP.
baselineOriginY
Tipo: FLOAT
Posición vertical (coordenada Y) del origen de línea base, en DIP.
[out] glyphRunAnalysis
Tipo: IDWriteGlyphRunAnalysis**
Cuando este método vuelve, contiene una dirección de un puntero al objeto de análisis de ejecución de glifo recién creado.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
El objeto de análisis de ejecución del glifo contiene los resultados de analizar la ejecución del glifo, incluidas las posiciones de todos los glifos y referencias a todos los glifos rasterizados en la memoria caché de fuentes.
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear un objeto de análisis de ejecución de glifos. En este ejemplo, se usa una ejecución de glifo vacía.
HRESULT CreateGlyphRunAnalysis(IDWriteFontFace *pFontFace, IDWriteGlyphRunAnalysis **ppGlyphRunAnalysis)
{
HRESULT hr = S_OK;
IDWriteFactory* pDWriteFactory = NULL;
// Create the DirectWrite factory.
hr = DWriteCreateFactory(
DWRITE_FACTORY_TYPE_SHARED,
__uuidof(IDWriteFactory),
reinterpret_cast<IUnknown**>(&pDWriteFactory)
);
DWRITE_GLYPH_RUN emptyGlyphRun = { 0 };
UINT16 glyphIndex = 0;
emptyGlyphRun.fontFace = pFontFace;
emptyGlyphRun.glyphIndices = &glyphIndex;
emptyGlyphRun.glyphCount = 0;
emptyGlyphRun.fontEmSize = 12;
IDWriteGlyphRunAnalysis* pGlyphRunAnalysis = NULL;
if (SUCCEEDED(hr))
{
hr = pDWriteFactory->CreateGlyphRunAnalysis(
&emptyGlyphRun,
1.0f, // pixelsPerDip,
NULL, // transform,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC,
DWRITE_MEASURING_MODE_GDI_CLASSIC,
0.0f, // baselineOriginX,
0.0f, // baselineOriginY,
&pGlyphRunAnalysis);
}
*ppGlyphRunAnalysis = pGlyphRunAnalysis;
SafeRelease(&pDWriteFactory);
return S_OK;
}
Requisitos
Requisito | Value |
---|---|
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 |
Library | Dwrite.lib |
Archivo DLL | Dwrite.dll |