Interface IDWriteGlyphRunAnalysis (dwrite.h)
Contém informações de baixo nível usadas para renderizar uma execução de glifo.
Herança
A interface IDWriteGlyphRunAnalysis herda da interface IUnknown . IDWriteGlyphRunAnalysis também tem estes tipos de membros:
Métodos
A interface IDWriteGlyphRunAnalysis tem esses métodos.
IDWriteGlyphRunAnalysis::CreateAlphaTexture Cria uma textura alfa do tipo especificado para glifos em um retângulo delimitador especificado. |
IDWriteGlyphRunAnalysis::GetAlphaBlendParams Obtém as propriedades de mesclagem alfa necessárias para a mesclagem ClearType. |
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds Obtém o retângulo delimitador dos pixels físicos afetados pela execução do glifo. |
Comentários
A textura alfa pode ser uma textura alfa de nível bi ou uma textura alfa ClearType.
Uma textura alfa de nível bi contém um byte por pixel, portanto, o tamanho do buffer para uma textura de nível bi será a área dos limites de textura, em bytes. Cada byte em uma textura alfa de nível bi criada por CreateAlphaTexture é definido como DWRITE_ALPHA_MAX (ou seja, 255) ou zero.
Uma textura alfa ClearType contém três bytes por pixel, portanto, o tamanho do buffer para uma textura alfa ClearType é três vezes a área dos limites de textura, em bytes.
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
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 |