Интерфейс IDWriteGlyphRunAnalysis (dwrite.h)
Содержит низкоуровневую информацию, используемую для отрисовки выполнения глифа.
Наследование
Интерфейс IDWriteGlyphRunAnalysis наследуется от интерфейса IUnknown . IDWriteGlyphRunAnalysis также имеет следующие типы элементов:
Методы
Интерфейс IDWriteGlyphRunAnalysis содержит следующие методы.
IDWriteGlyphRunAnalysis::CreateAlphaTexture Создает альфа-текстуру указанного типа для глифов в заданном ограничивающем прямоугольнике. |
IDWriteGlyphRunAnalysis::GetAlphaBlendParams Возвращает свойства альфа-наложения, необходимые для смешивания ClearType. |
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds Возвращает ограничивающий прямоугольник физических пикселей, затронутых выполнением глифа. |
Комментарии
Альфа-текстура может быть двухуровневой альфа-текстурой или альфа-текстурой ClearType.
Двухуровневая альфа-текстура содержит один байт на пиксель, поэтому размер буфера для двухуровневой текстуры будет составлять область границ текстуры в байтах. Каждый байт в двухуровневой альфа-текстуре, созданной CreateAlphaTexture , имеет значение DWRITE_ALPHA_MAX (то есть 255) или ноль.
Альфа-текстура ClearType содержит три байта на пиксель, поэтому размер буфера для альфа-текстуры ClearType в три раза больше площади границ текстуры в байтах.
Примеры
В следующем примере кода показано, как создать объект анализа запуска глифа. В этом примере используется пустой запуск глифа.
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;
}
Требования
Минимальная версия клиента | Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | dwrite.h |