Compartir a través de


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

Consulte también

IDWriteFactory