Metodo IDWriteFactory::CreateGlyphRunAnalysis (dwrite.h)

Crea un oggetto analisi esecuzione glifo, che incapsula le informazioni utilizzate per eseguire il rendering di un glifo.

Sintassi

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
);

Parametri

[in] glyphRun

Tipo: const DWRITE_GLYPH_RUN*

Struttura che contiene le proprietà dell'esecuzione del glifo (faccia del carattere, avanzamenti e così via).

pixelsPerDip

Tipo: FLOAT

Numero di pixel fisici per DIP (device independent pixel). Ad esempio, se il rendering in una bitmap da 96 DPI, pixelPerDip è 1. Se il rendering in una bitmap da 120 DPI , pixelPerDip è 1,25.

[in, optional] transform

Tipo: const DWRITE_MATRIX*

Trasformazione facoltativa applicata ai glifi e alle relative posizioni. Questa trasformazione viene applicata dopo il ridimensionamento specificato emSize e pixelPerDip.

renderingMode

Tipo: DWRITE_RENDERING_MODE

Valore che specifica la modalità di rendering, che deve essere una delle modalità di rendering raster, ovvero non predefinita e non struttura.

measuringMode

Tipo: DWRITE_MEASURING_MODE

Specifica la modalità di misurazione da utilizzare con glifi.

baselineOriginX

Tipo: FLOAT

Posizione orizzontale (coordinata X) dell'origine di base, in DIP.

baselineOriginY

Tipo: FLOAT

Posizione verticale (coordinata Y) dell'origine di base, in DIP.

[out] glyphRunAnalysis

Tipo: IDWriteGlyphRunAnalysis**

Quando termina, questo metodo contiene un indirizzo di un puntatore all'oggetto di analisi dell'esecuzione del glifo appena creato.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

L'oggetto analisi esecuzione glifo contiene i risultati dell'analisi dell'esecuzione del glifo, incluse le posizioni di tutti i glifi e riferimenti a tutti i glifi rasterizzati nella cache dei tipi di carattere.

Esempio

Nell'esempio di codice seguente viene illustrato come creare un oggetto di analisi dell'esecuzione del glifo. In questo esempio viene usata un'esecuzione di glifi vuota.

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;
}

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione dwrite.h
Libreria Dwrite.lib
DLL Dwrite.dll

Vedi anche

IDWriteFactory