Método IDWriteFactory::CreateGlyphRunAnalysis (dwrite.h)
Cria um objeto de análise de execução de glifo, que encapsula as informações usadas para renderizar uma execução de glifo.
Sintaxe
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*
Uma estrutura que contém as propriedades da execução do glifo (face da fonte, avanços e assim por diante).
pixelsPerDip
Tipo: FLOAT
Número de pixels físicos por DIP (pixel independente do dispositivo). Por exemplo, se for renderizado em um bitmap de 96 DPI, pixelsPerDip será 1. Se a renderização for em um bitmap de 120 DPI, pixelsPerDip será 1,25.
[in, optional] transform
Tipo: const DWRITE_MATRIX*
Transformação opcional aplicada aos glifos e suas posições. Essa transformação é aplicada depois que o dimensionamento especifica o emSize e pixelsPerDip.
renderingMode
Tipo: DWRITE_RENDERING_MODE
Um valor que especifica o modo de renderização, que deve ser um dos modos de renderização de varredura (ou seja, não padrão e não estrutura de tópicos).
measuringMode
Tipo: DWRITE_MEASURING_MODE
Especifica o modo de medição a ser usado com glifos.
baselineOriginX
Tipo: FLOAT
A posição horizontal (coordenada X) da origem da linha de base, em DIPs.
baselineOriginY
Tipo: FLOAT
Posição vertical (coordenada Y) da origem da linha de base, em DIPs.
[out] glyphRunAnalysis
Tipo: IDWriteGlyphRunAnalysis**
Quando esse método retorna, contém um endereço de um ponteiro para o objeto de análise de execução de glifo recém-criado.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
O objeto de análise de execução de glifo contém os resultados da análise da execução do glifo, incluindo as posições de todos os glifos e referências a todos os glifos rasterizados no cache de fontes.
Exemplos
O exemplo de código a seguir mostra como criar um objeto de análise de execução de glifo. Neste exemplo, uma execução de glifo vazia está sendo usada.
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dwrite.h |
Biblioteca | Dwrite.lib |
DLL | Dwrite.dll |